{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Gradient Boosted Models\n",
    "\n",
    "Gradient Boosting does not refer to one particular model, but a versatile framework to optimize many loss functions. It follows the strength in numbers principle by combining the predictions of multiple *base learners* to obtain a powerful overall model. The base learners are often very simple models that are only slightly better than random guessing, which is why they are also referred to as *weak learners*. The predictions are combined in an additive manner, where the addition of each base model improves (or \"boosts\") the overall model. Therefore, the overall model $f$ is an additive model of the form:\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "f(\\mathbf{x}) = \\sum_{m=1}^M \\beta_m g(\\mathbf{x}; {\\theta}_m),\n",
    "\\end{equation}\n",
    "$$\n",
    "\n",
    "where $M > 0$ denotes the number of base learners, and $\\beta_m \\in \\mathbb{R}$ is a weighting term. The function $g$ refers to a *base learner* and is parameterized by the vector ${\\theta}$. Individual base learners differ in the configuration of their parameters ${\\theta}$, which is indicated by a subscript $m$.\n",
    "\n",
    "A gradient boosted model is similar to a [Random Survival Forest](random-survival-forest.ipynb), in the sense that it relies on multiple base learners to produce an overall prediction, but differs in how those are combined. While a Random Survival Forest fits a set of Survival Trees independently and then averages their predictions, a gradient boosted model is constructed sequentially in a greedy stagewise fashion.\n",
    "\n",
    "## Base Learners\n",
    "\n",
    "Depending on the loss function to be minimized and base learner used, different models arise. \n",
    "[sksurv.ensemble.GradientBoostingSurvivalAnalysis](https://scikit-survival.readthedocs.io/en/latest/api/generated/sksurv.ensemble.GradientBoostingSurvivalAnalysis.html#sksurv.ensemble.GradientBoostingSurvivalAnalysis) implements gradient boosting with regression tree base learner, and\n",
    "[sksurv.ensemble.ComponentwiseGradientBoostingSurvivalAnalysis](https://scikit-survival.readthedocs.io/en/latest/api/generated/sksurv.ensemble.ComponentwiseGradientBoostingSurvivalAnalysis.html#sksurv.ensemble.ComponentwiseGradientBoostingSurvivalAnalysis) uses component-wise least squares as base learner. The former is very versatile and can account for complicated non-linear relationships between features and time to survival. When using component-wise least squares as base learner, the final model will be a linear model, but only a small subset of features will be selected, similar to the [LASSO penalized Cox model](coxnet.ipynb#LASSO).\n",
    "\n",
    "\n",
    "## Losses\n",
    "\n",
    "### Cox's Partial Likelihood\n",
    "\n",
    "The loss function can be specified via the `loss` argument loss; the default loss function  is the partial likelihood loss of [Cox's proportional hazards model](https://en.wikipedia.org/wiki/Proportional_hazards_model) (`coxph`). Therefore, the objective is to maximize the log partial likelihood function, but replacing the traditional linear model $\\mathbf{x}^\\top \\beta$ with the additive model $f(\\mathbf{x})$:\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "  \\arg \\min_{f} \\quad \\sum_{i=1}^n \\delta_i \\left[ f(\\mathbf{x}_i)\n",
    "- \\log \\left( \\sum_{j \\in \\mathcal{R}_i} \\exp(f(\\mathbf{x}_j)) \\right) \\right] .\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "\n",
    "%matplotlib inline\n",
    "\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sksurv.datasets import load_breast_cancer\n",
    "from sksurv.ensemble import ComponentwiseGradientBoostingSurvivalAnalysis\n",
    "from sksurv.ensemble import GradientBoostingSurvivalAnalysis\n",
    "from sksurv.preprocessing import OneHotEncoder"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To demonstrate its use we are going to use the [breast cancer data](https://clincancerres.aacrjournals.org/content/13/11/3207), which contains the expression levels of 76 genes, age, estrogen receptor status (`er`), tumor size and grade for 198 individuals. The objective is to predict the time to distant metastasis.\n",
    "\n",
    "First, we load the data and perform one-hot encoding of categorical variables `er` and `grade`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "X, y = load_breast_cancer()\n",
    "Xt = OneHotEncoder().fit_transform(X)\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(Xt, y, test_size=0.25, random_state=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next, we are using gradient boosting on Cox's partial likelihood with regression trees base learners, which we restrict to using only a single split (so-called *stumps*)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.756\n"
     ]
    }
   ],
   "source": [
    "est_cph_tree = GradientBoostingSurvivalAnalysis(n_estimators=100, learning_rate=1.0, max_depth=1, random_state=0)\n",
    "est_cph_tree.fit(X_train, y_train)\n",
    "cindex = est_cph_tree.score(X_test, y_test)\n",
    "print(round(cindex, 3))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This model achieves a concordance index of 0.756 on the test data. Let's see how the test performance changes with the ensemble size (`n_estimators`)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "scores_cph_tree = {}\n",
    "\n",
    "est_cph_tree = GradientBoostingSurvivalAnalysis(learning_rate=1.0, max_depth=1, random_state=0)\n",
    "for i in range(1, 31):\n",
    "    n_estimators = i * 5\n",
    "    est_cph_tree.set_params(n_estimators=n_estimators)\n",
    "    est_cph_tree.fit(X_train, y_train)\n",
    "    scores_cph_tree[n_estimators] = est_cph_tree.score(X_test, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x, y = zip(*scores_cph_tree.items())\n",
    "plt.plot(x, y)\n",
    "plt.xlabel(\"n_estimator\")\n",
    "plt.ylabel(\"concordance index\")\n",
    "plt.grid(True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can see that the performance quickly improves, but also that the performance starts to decrease if the ensemble becomes too big.\n",
    "\n",
    "Let's repeat the analysis using component-wise least squares base learners."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "scores_cph_ls = {}\n",
    "\n",
    "est_cph_ls = ComponentwiseGradientBoostingSurvivalAnalysis(learning_rate=1.0, random_state=0)\n",
    "for i in range(1, 31):\n",
    "    n_estimators = i * 10\n",
    "    est_cph_ls.set_params(n_estimators=n_estimators)\n",
    "    est_cph_ls.fit(X_train, y_train)\n",
    "    scores_cph_ls[n_estimators] = est_cph_ls.score(X_test, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x, y = zip(*scores_cph_ls.items())\n",
    "plt.plot(x, y)\n",
    "plt.xlabel(\"n_estimator\")\n",
    "plt.ylabel(\"concordance index\")\n",
    "plt.grid(True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The performance increase is much slower here and its maximum performance seems to be below that of the ensemble of tree-based learners. This is not surprising, because with component-wise least squares base learners the overall ensemble is a linear model, whereas with tree-based learners it will be a non-linear model.\n",
    "\n",
    "The coefficients of the model can be retrieved as follows:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of non-zero coefficients: 9\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "er=positive          -0.837549\n",
       "X207118_s_at          0.239161\n",
       "grade=unkown         -0.234126\n",
       "size                  0.214384\n",
       "X204540_at            0.094421\n",
       "X204014_at           -0.091377\n",
       "X216103_at           -0.086147\n",
       "X221916_at           -0.081565\n",
       "grade=intermediate    0.065916\n",
       "dtype: float64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "coef = pd.Series(est_cph_ls.coef_, [\"Intercept\"] + Xt.columns.tolist())\n",
    "\n",
    "print(\"Number of non-zero coefficients:\", (coef != 0).sum())\n",
    "coef_nz = coef[coef != 0]\n",
    "coef_order = coef_nz.abs().sort_values(ascending=False).index\n",
    "coef_nz.loc[coef_order]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Despite using hundreds of iterations, the resulting model is very parsimonious and easy to interpret."
   ]
  },
  {
   "attachments": {
    "aft-ph.svg": {
     "image/svg+xml": [
      "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPCEtLSBDcmVhdGVkIHdpdGggbWF0cGxvdGxpYiAoaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pIC0tPgo8c3ZnIGhlaWdodD0iMjg5LjM3NjI1cHQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDQ2MC42Njg3NSAyODkuMzc2MjUiIHdpZHRoPSI0NjAuNjY4NzVwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiA8bWV0YWRhdGE+CiAgPHJkZjpSREYgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICA8Y2M6V29yaz4KICAgIDxkYzp0eXBlIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiLz4KICAgIDxkYzpkYXRlPjIwMjAtMTAtMDNUMTk6MTQ6MDMuNTQ4ODc0PC9kYzpkYXRlPgogICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICA8ZGM6Y3JlYXRvcj4KICAgICA8Y2M6QWdlbnQ+CiAgICAgIDxkYzp0aXRsZT5NYXRwbG90bGliIHYzLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88L2RjOnRpdGxlPgogICAgIDwvY2M6QWdlbnQ+CiAgICA8L2RjOmNyZWF0b3I+CiAgIDwvY2M6V29yaz4KICA8L3JkZjpSREY+CiA8L21ldGFkYXRhPgogPGRlZnM+CiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4qe3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO308L3N0eWxlPgogPC9kZWZzPgogPGcgaWQ9ImZpZ3VyZV8xIj4KICA8ZyBpZD0icGF0Y2hfMSI+CiAgIDxwYXRoIGQ9Ik0gMCAyODkuMzc2MjUgCkwgNDYwLjY2ODc1IDI4OS4zNzYyNSAKTCA0NjAuNjY4NzUgMCAKTCAwIDAgCnoKIiBzdHlsZT0iZmlsbDpub25lOyIvPgogIDwvZz4KICA8ZyBpZD0iYXhlc18xIj4KICAgPGcgaWQ9InBhdGNoXzIiPgogICAgPHBhdGggZD0iTSA2Mi44Njg3NSAyNTEuODIgCkwgNDUzLjQ2ODc1IDI1MS44MiAKTCA0NTMuNDY4NzUgNy4yIApMIDYyLjg2ODc1IDcuMiAKegoiIHN0eWxlPSJmaWxsOiNmZmZmZmY7Ii8+CiAgIDwvZz4KICAgPGcgaWQ9Im1hdHBsb3RsaWIuYXhpc18xIj4KICAgIDxnIGlkPSJ4dGlja18xIj4KICAgICA8ZyBpZD0ibGluZTJkXzEiPgogICAgICA8ZGVmcz4KICAgICAgIDxwYXRoIGQ9Ik0gMCAwIApMIDAgMy41IAoiIGlkPSJtOGRjMzdkYTQ1NiIgc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjg7Ii8+CiAgICAgIDwvZGVmcz4KICAgICAgPGc+CiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iMTIzLjQ4OTU3OCIgeGxpbms6aHJlZj0iI204ZGMzN2RhNDU2IiB5PSIyNTEuODIiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0idGV4dF8xIj4KICAgICAgPCEtLSAyMDAgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExMy45NDU4MjggMjY2LjQxODQzOClzY2FsZSgwLjEgLTAuMSkiPgogICAgICAgPGRlZnM+CiAgICAgICAgPHBhdGggZD0iTSAxOS4xODc1IDguMjk2ODc1IApMIDUzLjYwOTM3NSA4LjI5Njg3NSAKTCA1My42MDkzNzUgMCAKTCA3LjMyODEyNSAwIApMIDcuMzI4MTI1IDguMjk2ODc1IApRIDEyLjkzNzUgMTQuMTA5Mzc1IDIyLjYyNSAyMy44OTA2MjUgClEgMzIuMzI4MTI1IDMzLjY4NzUgMzQuODEyNSAzNi41MzEyNSAKUSAzOS41NDY4NzUgNDEuODQzNzUgNDEuNDIxODc1IDQ1LjUzMTI1IApRIDQzLjMxMjUgNDkuMjE4NzUgNDMuMzEyNSA1Mi43ODEyNSAKUSA0My4zMTI1IDU4LjU5Mzc1IDM5LjIzNDM3NSA2Mi4yNSAKUSAzNS4xNTYyNSA2NS45MjE4NzUgMjguNjA5Mzc1IDY1LjkyMTg3NSAKUSAyMy45Njg3NSA2NS45MjE4NzUgMTguODEyNSA2NC4zMTI1IApRIDEzLjY3MTg3NSA2Mi43MDMxMjUgNy44MTI1IDU5LjQyMTg3NSAKTCA3LjgxMjUgNjkuMzkwNjI1IApRIDEzLjc2NTYyNSA3MS43ODEyNSAxOC45Mzc1IDczIApRIDI0LjEyNSA3NC4yMTg3NSAyOC40MjE4NzUgNzQuMjE4NzUgClEgMzkuNzUgNzQuMjE4NzUgNDYuNDg0Mzc1IDY4LjU0Njg3NSAKUSA1My4yMTg3NSA2Mi44OTA2MjUgNTMuMjE4NzUgNTMuNDIxODc1IApRIDUzLjIxODc1IDQ4LjkyMTg3NSA1MS41MzEyNSA0NC44OTA2MjUgClEgNDkuODU5Mzc1IDQwLjg3NSA0NS40MDYyNSAzNS40MDYyNSAKUSA0NC4xODc1IDMzLjk4NDM3NSAzNy42NDA2MjUgMjcuMjE4NzUgClEgMzEuMTA5Mzc1IDIwLjQ1MzEyNSAxOS4xODc1IDguMjk2ODc1IAp6CiIgaWQ9IkRlamFWdVNhbnMtNTAiLz4KICAgICAgICA8cGF0aCBkPSJNIDMxLjc4MTI1IDY2LjQwNjI1IApRIDI0LjE3MTg3NSA2Ni40MDYyNSAyMC4zMjgxMjUgNTguOTA2MjUgClEgMTYuNSA1MS40MjE4NzUgMTYuNSAzNi4zNzUgClEgMTYuNSAyMS4zOTA2MjUgMjAuMzI4MTI1IDEzLjg5MDYyNSAKUSAyNC4xNzE4NzUgNi4zOTA2MjUgMzEuNzgxMjUgNi4zOTA2MjUgClEgMzkuNDUzMTI1IDYuMzkwNjI1IDQzLjI4MTI1IDEzLjg5MDYyNSAKUSA0Ny4xMjUgMjEuMzkwNjI1IDQ3LjEyNSAzNi4zNzUgClEgNDcuMTI1IDUxLjQyMTg3NSA0My4yODEyNSA1OC45MDYyNSAKUSAzOS40NTMxMjUgNjYuNDA2MjUgMzEuNzgxMjUgNjYuNDA2MjUgCnoKTSAzMS43ODEyNSA3NC4yMTg3NSAKUSA0NC4wNDY4NzUgNzQuMjE4NzUgNTAuNTE1NjI1IDY0LjUxNTYyNSAKUSA1Ni45ODQzNzUgNTQuODI4MTI1IDU2Ljk4NDM3NSAzNi4zNzUgClEgNTYuOTg0Mzc1IDE3Ljk2ODc1IDUwLjUxNTYyNSA4LjI2NTYyNSAKUSA0NC4wNDY4NzUgLTEuNDIxODc1IDMxLjc4MTI1IC0xLjQyMTg3NSAKUSAxOS41MzEyNSAtMS40MjE4NzUgMTMuMDYyNSA4LjI2NTYyNSAKUSA2LjU5Mzc1IDE3Ljk2ODc1IDYuNTkzNzUgMzYuMzc1IApRIDYuNTkzNzUgNTQuODI4MTI1IDEzLjA2MjUgNjQuNTE1NjI1IApRIDE5LjUzMTI1IDc0LjIxODc1IDMxLjc4MTI1IDc0LjIxODc1IAp6CiIgaWQ9IkRlamFWdVNhbnMtNDgiLz4KICAgICAgIDwvZGVmcz4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTAiLz4KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICAgPHVzZSB4PSIxMjcuMjQ2MDk0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inh0aWNrXzIiPgogICAgIDxnIGlkPSJsaW5lMmRfMiI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjE4NC4yOTI4MTYiIHhsaW5rOmhyZWY9IiNtOGRjMzdkYTQ1NiIgeT0iMjUxLjgyIi8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9InRleHRfMiI+CiAgICAgIDwhLS0gNDAwIC0tPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNzQuNzQ5MDY2IDI2Ni40MTg0Mzgpc2NhbGUoMC4xIC0wLjEpIj4KICAgICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0gMzcuNzk2ODc1IDY0LjMxMjUgCkwgMTIuODkwNjI1IDI1LjM5MDYyNSAKTCAzNy43OTY4NzUgMjUuMzkwNjI1IAp6Ck0gMzUuMjAzMTI1IDcyLjkwNjI1IApMIDQ3LjYwOTM3NSA3Mi45MDYyNSAKTCA0Ny42MDkzNzUgMjUuMzkwNjI1IApMIDU4LjAxNTYyNSAyNS4zOTA2MjUgCkwgNTguMDE1NjI1IDE3LjE4NzUgCkwgNDcuNjA5Mzc1IDE3LjE4NzUgCkwgNDcuNjA5Mzc1IDAgCkwgMzcuNzk2ODc1IDAgCkwgMzcuNzk2ODc1IDE3LjE4NzUgCkwgNC44OTA2MjUgMTcuMTg3NSAKTCA0Ljg5MDYyNSAyNi43MDMxMjUgCnoKIiBpZD0iRGVqYVZ1U2Fucy01MiIvPgogICAgICAgPC9kZWZzPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MiIvPgogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+CiAgICAgICA8dXNlIHg9IjEyNy4yNDYwOTQiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyBpZD0ieHRpY2tfMyI+CiAgICAgPGcgaWQ9ImxpbmUyZF8zIj4KICAgICAgPGc+CiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iMjQ1LjA5NjA1NCIgeGxpbms6aHJlZj0iI204ZGMzN2RhNDU2IiB5PSIyNTEuODIiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0idGV4dF8zIj4KICAgICAgPCEtLSA2MDAgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIzNS41NTIzMDQgMjY2LjQxODQzOClzY2FsZSgwLjEgLTAuMSkiPgogICAgICAgPGRlZnM+CiAgICAgICAgPHBhdGggZD0iTSAzMy4wMTU2MjUgNDAuMzc1IApRIDI2LjM3NSA0MC4zNzUgMjIuNDg0Mzc1IDM1LjgyODEyNSAKUSAxOC42MDkzNzUgMzEuMjk2ODc1IDE4LjYwOTM3NSAyMy4zOTA2MjUgClEgMTguNjA5Mzc1IDE1LjUzMTI1IDIyLjQ4NDM3NSAxMC45NTMxMjUgClEgMjYuMzc1IDYuMzkwNjI1IDMzLjAxNTYyNSA2LjM5MDYyNSAKUSAzOS42NTYyNSA2LjM5MDYyNSA0My41MzEyNSAxMC45NTMxMjUgClEgNDcuNDA2MjUgMTUuNTMxMjUgNDcuNDA2MjUgMjMuMzkwNjI1IApRIDQ3LjQwNjI1IDMxLjI5Njg3NSA0My41MzEyNSAzNS44MjgxMjUgClEgMzkuNjU2MjUgNDAuMzc1IDMzLjAxNTYyNSA0MC4zNzUgCnoKTSA1Mi41OTM3NSA3MS4yOTY4NzUgCkwgNTIuNTkzNzUgNjIuMzEyNSAKUSA0OC44NzUgNjQuMDYyNSA0NS4wOTM3NSA2NC45ODQzNzUgClEgNDEuMzEyNSA2NS45MjE4NzUgMzcuNTkzNzUgNjUuOTIxODc1IApRIDI3LjgyODEyNSA2NS45MjE4NzUgMjIuNjcxODc1IDU5LjMyODEyNSAKUSAxNy41MzEyNSA1Mi43MzQzNzUgMTYuNzk2ODc1IDM5LjQwNjI1IApRIDE5LjY3MTg3NSA0My42NTYyNSAyNC4wMTU2MjUgNDUuOTIxODc1IApRIDI4LjM3NSA0OC4xODc1IDMzLjU5Mzc1IDQ4LjE4NzUgClEgNDQuNTc4MTI1IDQ4LjE4NzUgNTAuOTUzMTI1IDQxLjUxNTYyNSAKUSA1Ny4zMjgxMjUgMzQuODU5Mzc1IDU3LjMyODEyNSAyMy4zOTA2MjUgClEgNTcuMzI4MTI1IDEyLjE1NjI1IDUwLjY4NzUgNS4zNTkzNzUgClEgNDQuMDQ2ODc1IC0xLjQyMTg3NSAzMy4wMTU2MjUgLTEuNDIxODc1IApRIDIwLjM1OTM3NSAtMS40MjE4NzUgMTMuNjcxODc1IDguMjY1NjI1IApRIDYuOTg0Mzc1IDE3Ljk2ODc1IDYuOTg0Mzc1IDM2LjM3NSAKUSA2Ljk4NDM3NSA1My42NTYyNSAxNS4xODc1IDYzLjkzNzUgClEgMjMuMzkwNjI1IDc0LjIxODc1IDM3LjIwMzEyNSA3NC4yMTg3NSAKUSA0MC45MjE4NzUgNzQuMjE4NzUgNDQuNzAzMTI1IDczLjQ4NDM3NSAKUSA0OC40ODQzNzUgNzIuNzUgNTIuNTkzNzUgNzEuMjk2ODc1IAp6CiIgaWQ9IkRlamFWdVNhbnMtNTQiLz4KICAgICAgIDwvZGVmcz4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTQiLz4KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICAgPHVzZSB4PSIxMjcuMjQ2MDk0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inh0aWNrXzQiPgogICAgIDxnIGlkPSJsaW5lMmRfNCI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjMwNS44OTkyOTIiIHhsaW5rOmhyZWY9IiNtOGRjMzdkYTQ1NiIgeT0iMjUxLjgyIi8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9InRleHRfNCI+CiAgICAgIDwhLS0gODAwIC0tPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyOTYuMzU1NTQyIDI2Ni40MTg0Mzgpc2NhbGUoMC4xIC0wLjEpIj4KICAgICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0gMzEuNzgxMjUgMzQuNjI1IApRIDI0Ljc1IDM0LjYyNSAyMC43MTg3NSAzMC44NTkzNzUgClEgMTYuNzAzMTI1IDI3LjA5Mzc1IDE2LjcwMzEyNSAyMC41MTU2MjUgClEgMTYuNzAzMTI1IDEzLjkyMTg3NSAyMC43MTg3NSAxMC4xNTYyNSAKUSAyNC43NSA2LjM5MDYyNSAzMS43ODEyNSA2LjM5MDYyNSAKUSAzOC44MTI1IDYuMzkwNjI1IDQyLjg1OTM3NSAxMC4xNzE4NzUgClEgNDYuOTIxODc1IDEzLjk2ODc1IDQ2LjkyMTg3NSAyMC41MTU2MjUgClEgNDYuOTIxODc1IDI3LjA5Mzc1IDQyLjg5MDYyNSAzMC44NTkzNzUgClEgMzguODc1IDM0LjYyNSAzMS43ODEyNSAzNC42MjUgCnoKTSAyMS45MjE4NzUgMzguODEyNSAKUSAxNS41NzgxMjUgNDAuMzc1IDEyLjAzMTI1IDQ0LjcxODc1IApRIDguNSA0OS4wNzgxMjUgOC41IDU1LjMyODEyNSAKUSA4LjUgNjQuMDYyNSAxNC43MTg3NSA2OS4xNDA2MjUgClEgMjAuOTUzMTI1IDc0LjIxODc1IDMxLjc4MTI1IDc0LjIxODc1IApRIDQyLjY3MTg3NSA3NC4yMTg3NSA0OC44NzUgNjkuMTQwNjI1IApRIDU1LjA3ODEyNSA2NC4wNjI1IDU1LjA3ODEyNSA1NS4zMjgxMjUgClEgNTUuMDc4MTI1IDQ5LjA3ODEyNSA1MS41MzEyNSA0NC43MTg3NSAKUSA0OCA0MC4zNzUgNDEuNzAzMTI1IDM4LjgxMjUgClEgNDguODI4MTI1IDM3LjE1NjI1IDUyLjc5Njg3NSAzMi4zMTI1IApRIDU2Ljc4MTI1IDI3LjQ4NDM3NSA1Ni43ODEyNSAyMC41MTU2MjUgClEgNTYuNzgxMjUgOS45MDYyNSA1MC4zMTI1IDQuMjM0Mzc1IApRIDQzLjg0Mzc1IC0xLjQyMTg3NSAzMS43ODEyNSAtMS40MjE4NzUgClEgMTkuNzM0Mzc1IC0xLjQyMTg3NSAxMy4yNSA0LjIzNDM3NSAKUSA2Ljc4MTI1IDkuOTA2MjUgNi43ODEyNSAyMC41MTU2MjUgClEgNi43ODEyNSAyNy40ODQzNzUgMTAuNzgxMjUgMzIuMzEyNSAKUSAxNC43OTY4NzUgMzcuMTU2MjUgMjEuOTIxODc1IDM4LjgxMjUgCnoKTSAxOC4zMTI1IDU0LjM5MDYyNSAKUSAxOC4zMTI1IDQ4LjczNDM3NSAyMS44NDM3NSA0NS41NjI1IApRIDI1LjM5MDYyNSA0Mi4zOTA2MjUgMzEuNzgxMjUgNDIuMzkwNjI1IApRIDM4LjE0MDYyNSA0Mi4zOTA2MjUgNDEuNzE4NzUgNDUuNTYyNSAKUSA0NS4zMTI1IDQ4LjczNDM3NSA0NS4zMTI1IDU0LjM5MDYyNSAKUSA0NS4zMTI1IDYwLjA2MjUgNDEuNzE4NzUgNjMuMjM0Mzc1IApRIDM4LjE0MDYyNSA2Ni40MDYyNSAzMS43ODEyNSA2Ni40MDYyNSAKUSAyNS4zOTA2MjUgNjYuNDA2MjUgMjEuODQzNzUgNjMuMjM0Mzc1IApRIDE4LjMxMjUgNjAuMDYyNSAxOC4zMTI1IDU0LjM5MDYyNSAKegoiIGlkPSJEZWphVnVTYW5zLTU2Ii8+CiAgICAgICA8L2RlZnM+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTU2Ii8+CiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4KICAgICAgIDx1c2UgeD0iMTI3LjI0NjA5NCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgIDwvZz4KICAgIDxnIGlkPSJ4dGlja181Ij4KICAgICA8ZyBpZD0ibGluZTJkXzUiPgogICAgICA8Zz4KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjg7IiB4PSIzNjYuNzAyNTMiIHhsaW5rOmhyZWY9IiNtOGRjMzdkYTQ1NiIgeT0iMjUxLjgyIi8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9InRleHRfNSI+CiAgICAgIDwhLS0gMTAwMCAtLT4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzUzLjk3NzUzIDI2Ni40MTg0Mzgpc2NhbGUoMC4xIC0wLjEpIj4KICAgICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0gMTIuNDA2MjUgOC4yOTY4NzUgCkwgMjguNTE1NjI1IDguMjk2ODc1IApMIDI4LjUxNTYyNSA2My45MjE4NzUgCkwgMTAuOTg0Mzc1IDYwLjQwNjI1IApMIDEwLjk4NDM3NSA2OS4zOTA2MjUgCkwgMjguNDIxODc1IDcyLjkwNjI1IApMIDM4LjI4MTI1IDcyLjkwNjI1IApMIDM4LjI4MTI1IDguMjk2ODc1IApMIDU0LjM5MDYyNSA4LjI5Njg3NSAKTCA1NC4zOTA2MjUgMCAKTCAxMi40MDYyNSAwIAp6CiIgaWQ9IkRlamFWdVNhbnMtNDkiLz4KICAgICAgIDwvZGVmcz4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDkiLz4KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICAgPHVzZSB4PSIxMjcuMjQ2MDk0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICAgPHVzZSB4PSIxOTAuODY5MTQxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inh0aWNrXzYiPgogICAgIDxnIGlkPSJsaW5lMmRfNiI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjQyNy41MDU3NjciIHhsaW5rOmhyZWY9IiNtOGRjMzdkYTQ1NiIgeT0iMjUxLjgyIi8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9InRleHRfNiI+CiAgICAgIDwhLS0gMTIwMCAtLT4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDE0Ljc4MDc2NyAyNjYuNDE4NDM4KXNjYWxlKDAuMSAtMC4xKSI+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ5Ii8+CiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTAiLz4KICAgICAgIDx1c2UgeD0iMTI3LjI0NjA5NCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4KICAgICAgIDx1c2UgeD0iMTkwLjg2OTE0MSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgIDwvZz4KICAgIDxnIGlkPSJ0ZXh0XzciPgogICAgIDwhLS0gVGltZSAtLT4KICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDUuOTM1MTU2IDI4MC4wOTY1NjMpc2NhbGUoMC4xIC0wLjEpIj4KICAgICAgPGRlZnM+CiAgICAgICA8cGF0aCBkPSJNIC0wLjI5Njg3NSA3Mi45MDYyNSAKTCA2MS4zNzUgNzIuOTA2MjUgCkwgNjEuMzc1IDY0LjU5Mzc1IApMIDM1LjUgNjQuNTkzNzUgCkwgMzUuNSAwIApMIDI1LjU5Mzc1IDAgCkwgMjUuNTkzNzUgNjQuNTkzNzUgCkwgLTAuMjk2ODc1IDY0LjU5Mzc1IAp6CiIgaWQ9IkRlamFWdVNhbnMtODQiLz4KICAgICAgIDxwYXRoIGQ9Ik0gOS40MjE4NzUgNTQuNjg3NSAKTCAxOC40MDYyNSA1NC42ODc1IApMIDE4LjQwNjI1IDAgCkwgOS40MjE4NzUgMCAKegpNIDkuNDIxODc1IDc1Ljk4NDM3NSAKTCAxOC40MDYyNSA3NS45ODQzNzUgCkwgMTguNDA2MjUgNjQuNTkzNzUgCkwgOS40MjE4NzUgNjQuNTkzNzUgCnoKIiBpZD0iRGVqYVZ1U2Fucy0xMDUiLz4KICAgICAgIDxwYXRoIGQ9Ik0gNTIgNDQuMTg3NSAKUSA1NS4zNzUgNTAuMjUgNjAuMDYyNSA1My4xMjUgClEgNjQuNzUgNTYgNzEuMDkzNzUgNTYgClEgNzkuNjQwNjI1IDU2IDg0LjI4MTI1IDUwLjAxNTYyNSAKUSA4OC45MjE4NzUgNDQuMDQ2ODc1IDg4LjkyMTg3NSAzMy4wMTU2MjUgCkwgODguOTIxODc1IDAgCkwgNzkuODkwNjI1IDAgCkwgNzkuODkwNjI1IDMyLjcxODc1IApRIDc5Ljg5MDYyNSA0MC41NzgxMjUgNzcuMDkzNzUgNDQuMzc1IApRIDc0LjMxMjUgNDguMTg3NSA2OC42MDkzNzUgNDguMTg3NSAKUSA2MS42MjUgNDguMTg3NSA1Ny41NjI1IDQzLjU0Njg3NSAKUSA1My41MTU2MjUgMzguOTIxODc1IDUzLjUxNTYyNSAzMC45MDYyNSAKTCA1My41MTU2MjUgMCAKTCA0NC40ODQzNzUgMCAKTCA0NC40ODQzNzUgMzIuNzE4NzUgClEgNDQuNDg0Mzc1IDQwLjYyNSA0MS43MDMxMjUgNDQuNDA2MjUgClEgMzguOTIxODc1IDQ4LjE4NzUgMzMuMTA5Mzc1IDQ4LjE4NzUgClEgMjYuMjE4NzUgNDguMTg3NSAyMi4xNTYyNSA0My41MzEyNSAKUSAxOC4xMDkzNzUgMzguODc1IDE4LjEwOTM3NSAzMC45MDYyNSAKTCAxOC4xMDkzNzUgMCAKTCA5LjA3ODEyNSAwIApMIDkuMDc4MTI1IDU0LjY4NzUgCkwgMTguMTA5Mzc1IDU0LjY4NzUgCkwgMTguMTA5Mzc1IDQ2LjE4NzUgClEgMjEuMTg3NSA1MS4yMTg3NSAyNS40ODQzNzUgNTMuNjA5Mzc1IApRIDI5Ljc4MTI1IDU2IDM1LjY4NzUgNTYgClEgNDEuNjU2MjUgNTYgNDUuODI4MTI1IDUyLjk2ODc1IApRIDUwIDQ5Ljk1MzEyNSA1MiA0NC4xODc1IAp6CiIgaWQ9IkRlamFWdVNhbnMtMTA5Ii8+CiAgICAgICA8cGF0aCBkPSJNIDU2LjIwMzEyNSAyOS41OTM3NSAKTCA1Ni4yMDMxMjUgMjUuMjAzMTI1IApMIDE0Ljg5MDYyNSAyNS4yMDMxMjUgClEgMTUuNDg0Mzc1IDE1LjkyMTg3NSAyMC40ODQzNzUgMTEuMDYyNSAKUSAyNS40ODQzNzUgNi4yMDMxMjUgMzQuNDIxODc1IDYuMjAzMTI1IApRIDM5LjU5Mzc1IDYuMjAzMTI1IDQ0LjQ1MzEyNSA3LjQ2ODc1IApRIDQ5LjMxMjUgOC43MzQzNzUgNTQuMTA5Mzc1IDExLjI4MTI1IApMIDU0LjEwOTM3NSAyLjc4MTI1IApRIDQ5LjI2NTYyNSAwLjczNDM3NSA0NC4xODc1IC0wLjM0Mzc1IApRIDM5LjEwOTM3NSAtMS40MjE4NzUgMzMuODkwNjI1IC0xLjQyMTg3NSAKUSAyMC43OTY4NzUgLTEuNDIxODc1IDEzLjE1NjI1IDYuMTg3NSAKUSA1LjUxNTYyNSAxMy44MTI1IDUuNTE1NjI1IDI2LjgxMjUgClEgNS41MTU2MjUgNDAuMjM0Mzc1IDEyLjc2NTYyNSA0OC4xMDkzNzUgClEgMjAuMDE1NjI1IDU2IDMyLjMyODEyNSA1NiAKUSA0My4zNTkzNzUgNTYgNDkuNzgxMjUgNDguODkwNjI1IApRIDU2LjIwMzEyNSA0MS43OTY4NzUgNTYuMjAzMTI1IDI5LjU5Mzc1IAp6Ck0gNDcuMjE4NzUgMzIuMjM0Mzc1IApRIDQ3LjEyNSAzOS41OTM3NSA0My4wOTM3NSA0My45ODQzNzUgClEgMzkuMDYyNSA0OC4zOTA2MjUgMzIuNDIxODc1IDQ4LjM5MDYyNSAKUSAyNC45MDYyNSA0OC4zOTA2MjUgMjAuMzkwNjI1IDQ0LjE0MDYyNSAKUSAxNS44NzUgMzkuODkwNjI1IDE1LjE4NzUgMzIuMTcxODc1IAp6CiIgaWQ9IkRlamFWdVNhbnMtMTAxIi8+CiAgICAgIDwvZGVmcz4KICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy04NCIvPgogICAgICA8dXNlIHg9IjU3Ljk1ODk4NCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMTA1Ii8+CiAgICAgIDx1c2UgeD0iODUuNzQyMTg4IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0xMDkiLz4KICAgICAgPHVzZSB4PSIxODMuMTU0Mjk3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0xMDEiLz4KICAgICA8L2c+CiAgICA8L2c+CiAgIDwvZz4KICAgPGcgaWQ9Im1hdHBsb3RsaWIuYXhpc18yIj4KICAgIDxnIGlkPSJ5dGlja18xIj4KICAgICA8ZyBpZD0ibGluZTJkXzciPgogICAgICA8ZGVmcz4KICAgICAgIDxwYXRoIGQ9Ik0gMCAwIApMIC0zLjUgMCAKIiBpZD0ibTAzYWQ3ZDQ1MzIiIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIvPgogICAgICA8L2RlZnM+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjYyLjg2ODc1IiB4bGluazpocmVmPSIjbTAzYWQ3ZDQ1MzIiIHk9IjIzMi4zNTIzNTQiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0idGV4dF84Ij4KICAgICAgPCEtLSAwLjAwMDIgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwLjg3ODEyNSAyMzYuMTUxNTczKXNjYWxlKDAuMSAtMC4xKSI+CiAgICAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNIDEwLjY4NzUgMTIuNDA2MjUgCkwgMjEgMTIuNDA2MjUgCkwgMjEgMCAKTCAxMC42ODc1IDAgCnoKIiBpZD0iRGVqYVZ1U2Fucy00NiIvPgogICAgICAgPC9kZWZzPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+CiAgICAgICA8dXNlIHg9Ijk1LjQxMDE1NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4KICAgICAgIDx1c2UgeD0iMTU5LjAzMzIwMyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4KICAgICAgIDx1c2UgeD0iMjIyLjY1NjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICAgPHVzZSB4PSIyODYuMjc5Mjk3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inl0aWNrXzIiPgogICAgIDxnIGlkPSJsaW5lMmRfOCI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjYyLjg2ODc1IiB4bGluazpocmVmPSIjbTAzYWQ3ZDQ1MzIiIHk9IjIwMC44MDk3NTgiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0idGV4dF85Ij4KICAgICAgPCEtLSAwLjAwMDQgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwLjg3ODEyNSAyMDQuNjA4OTc2KXNjYWxlKDAuMSAtMC4xKSI+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+CiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDYiLz4KICAgICAgIDx1c2UgeD0iOTUuNDEwMTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICAgPHVzZSB4PSIxNTkuMDMzMjAzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICAgPHVzZSB4PSIyMjIuNjU2MjUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+CiAgICAgICA8dXNlIHg9IjI4Ni4yNzkyOTciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUyIi8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyBpZD0ieXRpY2tfMyI+CiAgICAgPGcgaWQ9ImxpbmUyZF85Ij4KICAgICAgPGc+CiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iNjIuODY4NzUiIHhsaW5rOmhyZWY9IiNtMDNhZDdkNDUzMiIgeT0iMTY5LjI2NzE2MSIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzEwIj4KICAgICAgPCEtLSAwLjAwMDYgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwLjg3ODEyNSAxNzMuMDY2Mzgpc2NhbGUoMC4xIC0wLjEpIj4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPgogICAgICAgPHVzZSB4PSI5NS40MTAxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+CiAgICAgICA8dXNlIHg9IjE1OS4wMzMyMDMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+CiAgICAgICA8dXNlIHg9IjIyMi42NTYyNSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4KICAgICAgIDx1c2UgeD0iMjg2LjI3OTI5NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTQiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgIDwvZz4KICAgIDxnIGlkPSJ5dGlja180Ij4KICAgICA8ZyBpZD0ibGluZTJkXzEwIj4KICAgICAgPGc+CiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iNjIuODY4NzUiIHhsaW5rOmhyZWY9IiNtMDNhZDdkNDUzMiIgeT0iMTM3LjcyNDU2NSIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzExIj4KICAgICAgPCEtLSAwLjAwMDggLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwLjg3ODEyNSAxNDEuNTIzNzgzKXNjYWxlKDAuMSAtMC4xKSI+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+CiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDYiLz4KICAgICAgIDx1c2UgeD0iOTUuNDEwMTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICAgPHVzZSB4PSIxNTkuMDMzMjAzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICAgPHVzZSB4PSIyMjIuNjU2MjUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+CiAgICAgICA8dXNlIHg9IjI4Ni4yNzkyOTciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTU2Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyBpZD0ieXRpY2tfNSI+CiAgICAgPGcgaWQ9ImxpbmUyZF8xMSI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjYyLjg2ODc1IiB4bGluazpocmVmPSIjbTAzYWQ3ZDQ1MzIiIHk9IjEwNi4xODE5NjgiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0idGV4dF8xMiI+CiAgICAgIDwhLS0gMC4wMDEwIC0tPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMC44NzgxMjUgMTA5Ljk4MTE4NylzY2FsZSgwLjEgLTAuMSkiPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+CiAgICAgICA8dXNlIHg9Ijk1LjQxMDE1NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4KICAgICAgIDx1c2UgeD0iMTU5LjAzMzIwMyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4KICAgICAgIDx1c2UgeD0iMjIyLjY1NjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OSIvPgogICAgICAgPHVzZSB4PSIyODYuMjc5Mjk3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inl0aWNrXzYiPgogICAgIDxnIGlkPSJsaW5lMmRfMTIiPgogICAgICA8Zz4KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjg7IiB4PSI2Mi44Njg3NSIgeGxpbms6aHJlZj0iI20wM2FkN2Q0NTMyIiB5PSI3NC42MzkzNzIiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0idGV4dF8xMyI+CiAgICAgIDwhLS0gMC4wMDEyIC0tPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMC44NzgxMjUgNzguNDM4NTkxKXNjYWxlKDAuMSAtMC4xKSI+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+CiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDYiLz4KICAgICAgIDx1c2UgeD0iOTUuNDEwMTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICAgPHVzZSB4PSIxNTkuMDMzMjAzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICAgPHVzZSB4PSIyMjIuNjU2MjUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ5Ii8+CiAgICAgICA8dXNlIHg9IjI4Ni4yNzkyOTciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUwIi8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyBpZD0ieXRpY2tfNyI+CiAgICAgPGcgaWQ9ImxpbmUyZF8xMyI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjYyLjg2ODc1IiB4bGluazpocmVmPSIjbTAzYWQ3ZDQ1MzIiIHk9IjQzLjA5Njc3NSIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzE0Ij4KICAgICAgPCEtLSAwLjAwMTQgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwLjg3ODEyNSA0Ni44OTU5OTQpc2NhbGUoMC4xIC0wLjEpIj4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPgogICAgICAgPHVzZSB4PSI5NS40MTAxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+CiAgICAgICA8dXNlIHg9IjE1OS4wMzMyMDMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+CiAgICAgICA8dXNlIHg9IjIyMi42NTYyNSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDkiLz4KICAgICAgIDx1c2UgeD0iMjg2LjI3OTI5NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTIiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgIDwvZz4KICAgIDxnIGlkPSJ5dGlja184Ij4KICAgICA8ZyBpZD0ibGluZTJkXzE0Ij4KICAgICAgPGc+CiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iNjIuODY4NzUiIHhsaW5rOmhyZWY9IiNtMDNhZDdkNDUzMiIgeT0iMTEuNTU0MTc5Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9InRleHRfMTUiPgogICAgICA8IS0tIDAuMDAxNiAtLT4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjAuODc4MTI1IDE1LjM1MzM5OClzY2FsZSgwLjEgLTAuMSkiPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPgogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+CiAgICAgICA8dXNlIHg9Ijk1LjQxMDE1NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4KICAgICAgIDx1c2UgeD0iMTU5LjAzMzIwMyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4KICAgICAgIDx1c2UgeD0iMjIyLjY1NjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OSIvPgogICAgICAgPHVzZSB4PSIyODYuMjc5Mjk3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01NCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9InRleHRfMTYiPgogICAgIDwhLS0gSGF6YXJkIFJhdGUgLS0+CiAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuNzk4NDM4IDE2MC4yMTYyNSlyb3RhdGUoLTkwKXNjYWxlKDAuMSAtMC4xKSI+CiAgICAgIDxkZWZzPgogICAgICAgPHBhdGggZD0iTSA5LjgxMjUgNzIuOTA2MjUgCkwgMTkuNjcxODc1IDcyLjkwNjI1IApMIDE5LjY3MTg3NSA0My4wMTU2MjUgCkwgNTUuNTE1NjI1IDQzLjAxNTYyNSAKTCA1NS41MTU2MjUgNzIuOTA2MjUgCkwgNjUuMzc1IDcyLjkwNjI1IApMIDY1LjM3NSAwIApMIDU1LjUxNTYyNSAwIApMIDU1LjUxNTYyNSAzNC43MTg3NSAKTCAxOS42NzE4NzUgMzQuNzE4NzUgCkwgMTkuNjcxODc1IDAgCkwgOS44MTI1IDAgCnoKIiBpZD0iRGVqYVZ1U2Fucy03MiIvPgogICAgICAgPHBhdGggZD0iTSAzNC4yODEyNSAyNy40ODQzNzUgClEgMjMuMzkwNjI1IDI3LjQ4NDM3NSAxOS4xODc1IDI1IApRIDE0Ljk4NDM3NSAyMi41MTU2MjUgMTQuOTg0Mzc1IDE2LjUgClEgMTQuOTg0Mzc1IDExLjcxODc1IDE4LjE0MDYyNSA4LjkwNjI1IApRIDIxLjI5Njg3NSA2LjEwOTM3NSAyNi43MDMxMjUgNi4xMDkzNzUgClEgMzQuMTg3NSA2LjEwOTM3NSAzOC43MDMxMjUgMTEuNDA2MjUgClEgNDMuMjE4NzUgMTYuNzAzMTI1IDQzLjIxODc1IDI1LjQ4NDM3NSAKTCA0My4yMTg3NSAyNy40ODQzNzUgCnoKTSA1Mi4yMDMxMjUgMzEuMjAzMTI1IApMIDUyLjIwMzEyNSAwIApMIDQzLjIxODc1IDAgCkwgNDMuMjE4NzUgOC4yOTY4NzUgClEgNDAuMTQwNjI1IDMuMzI4MTI1IDM1LjU0Njg3NSAwLjk1MzEyNSAKUSAzMC45NTMxMjUgLTEuNDIxODc1IDI0LjMxMjUgLTEuNDIxODc1IApRIDE1LjkyMTg3NSAtMS40MjE4NzUgMTAuOTUzMTI1IDMuMjk2ODc1IApRIDYgOC4wMTU2MjUgNiAxNS45MjE4NzUgClEgNiAyNS4xNDA2MjUgMTIuMTcxODc1IDI5LjgyODEyNSAKUSAxOC4zNTkzNzUgMzQuNTE1NjI1IDMwLjYwOTM3NSAzNC41MTU2MjUgCkwgNDMuMjE4NzUgMzQuNTE1NjI1IApMIDQzLjIxODc1IDM1LjQwNjI1IApRIDQzLjIxODc1IDQxLjYwOTM3NSAzOS4xNDA2MjUgNDUgClEgMzUuMDYyNSA0OC4zOTA2MjUgMjcuNjg3NSA0OC4zOTA2MjUgClEgMjMgNDguMzkwNjI1IDE4LjU0Njg3NSA0Ny4yNjU2MjUgClEgMTQuMTA5Mzc1IDQ2LjE0MDYyNSAxMC4wMTU2MjUgNDMuODkwNjI1IApMIDEwLjAxNTYyNSA1Mi4yMDMxMjUgClEgMTQuOTM3NSA1NC4xMDkzNzUgMTkuNTc4MTI1IDU1LjA0Njg3NSAKUSAyNC4yMTg3NSA1NiAyOC42MDkzNzUgNTYgClEgNDAuNDg0Mzc1IDU2IDQ2LjM0Mzc1IDQ5Ljg0Mzc1IApRIDUyLjIwMzEyNSA0My43MDMxMjUgNTIuMjAzMTI1IDMxLjIwMzEyNSAKegoiIGlkPSJEZWphVnVTYW5zLTk3Ii8+CiAgICAgICA8cGF0aCBkPSJNIDUuNTE1NjI1IDU0LjY4NzUgCkwgNDguMTg3NSA1NC42ODc1IApMIDQ4LjE4NzUgNDYuNDg0Mzc1IApMIDE0LjQwNjI1IDcuMTcxODc1IApMIDQ4LjE4NzUgNy4xNzE4NzUgCkwgNDguMTg3NSAwIApMIDQuMjk2ODc1IDAgCkwgNC4yOTY4NzUgOC4yMDMxMjUgCkwgMzguMDkzNzUgNDcuNTE1NjI1IApMIDUuNTE1NjI1IDQ3LjUxNTYyNSAKegoiIGlkPSJEZWphVnVTYW5zLTEyMiIvPgogICAgICAgPHBhdGggZD0iTSA0MS4xMDkzNzUgNDYuMjk2ODc1IApRIDM5LjU5Mzc1IDQ3LjE3MTg3NSAzNy44MTI1IDQ3LjU3ODEyNSAKUSAzNi4wMzEyNSA0OCAzMy44OTA2MjUgNDggClEgMjYuMjY1NjI1IDQ4IDIyLjE4NzUgNDMuMDQ2ODc1IApRIDE4LjEwOTM3NSAzOC4wOTM3NSAxOC4xMDkzNzUgMjguODEyNSAKTCAxOC4xMDkzNzUgMCAKTCA5LjA3ODEyNSAwIApMIDkuMDc4MTI1IDU0LjY4NzUgCkwgMTguMTA5Mzc1IDU0LjY4NzUgCkwgMTguMTA5Mzc1IDQ2LjE4NzUgClEgMjAuOTUzMTI1IDUxLjE3MTg3NSAyNS40ODQzNzUgNTMuNTc4MTI1IApRIDMwLjAzMTI1IDU2IDM2LjUzMTI1IDU2IApRIDM3LjQ1MzEyNSA1NiAzOC41NzgxMjUgNTUuODc1IApRIDM5LjcwMzEyNSA1NS43NjU2MjUgNDEuMDYyNSA1NS41MTU2MjUgCnoKIiBpZD0iRGVqYVZ1U2Fucy0xMTQiLz4KICAgICAgIDxwYXRoIGQ9Ik0gNDUuNDA2MjUgNDYuMzkwNjI1IApMIDQ1LjQwNjI1IDc1Ljk4NDM3NSAKTCA1NC4zOTA2MjUgNzUuOTg0Mzc1IApMIDU0LjM5MDYyNSAwIApMIDQ1LjQwNjI1IDAgCkwgNDUuNDA2MjUgOC4yMDMxMjUgClEgNDIuNTc4MTI1IDMuMzI4MTI1IDM4LjI1IDAuOTUzMTI1IApRIDMzLjkzNzUgLTEuNDIxODc1IDI3Ljg3NSAtMS40MjE4NzUgClEgMTcuOTY4NzUgLTEuNDIxODc1IDExLjczNDM3NSA2LjQ4NDM3NSAKUSA1LjUxNTYyNSAxNC40MDYyNSA1LjUxNTYyNSAyNy4yOTY4NzUgClEgNS41MTU2MjUgNDAuMTg3NSAxMS43MzQzNzUgNDguMDkzNzUgClEgMTcuOTY4NzUgNTYgMjcuODc1IDU2IApRIDMzLjkzNzUgNTYgMzguMjUgNTMuNjI1IApRIDQyLjU3ODEyNSA1MS4yNjU2MjUgNDUuNDA2MjUgNDYuMzkwNjI1IAp6Ck0gMTQuNzk2ODc1IDI3LjI5Njg3NSAKUSAxNC43OTY4NzUgMTcuMzkwNjI1IDE4Ljg3NSAxMS43NSAKUSAyMi45NTMxMjUgNi4xMDkzNzUgMzAuMDc4MTI1IDYuMTA5Mzc1IApRIDM3LjIwMzEyNSA2LjEwOTM3NSA0MS4yOTY4NzUgMTEuNzUgClEgNDUuNDA2MjUgMTcuMzkwNjI1IDQ1LjQwNjI1IDI3LjI5Njg3NSAKUSA0NS40MDYyNSAzNy4yMDMxMjUgNDEuMjk2ODc1IDQyLjg0Mzc1IApRIDM3LjIwMzEyNSA0OC40ODQzNzUgMzAuMDc4MTI1IDQ4LjQ4NDM3NSAKUSAyMi45NTMxMjUgNDguNDg0Mzc1IDE4Ljg3NSA0Mi44NDM3NSAKUSAxNC43OTY4NzUgMzcuMjAzMTI1IDE0Ljc5Njg3NSAyNy4yOTY4NzUgCnoKIiBpZD0iRGVqYVZ1U2Fucy0xMDAiLz4KICAgICAgIDxwYXRoIGlkPSJEZWphVnVTYW5zLTMyIi8+CiAgICAgICA8cGF0aCBkPSJNIDQ0LjM5MDYyNSAzNC4xODc1IApRIDQ3LjU2MjUgMzMuMTA5Mzc1IDUwLjU2MjUgMjkuNTkzNzUgClEgNTMuNTYyNSAyNi4wNzgxMjUgNTYuNTkzNzUgMTkuOTIxODc1IApMIDY2LjYwOTM3NSAwIApMIDU2IDAgCkwgNDYuNjg3NSAxOC43MDMxMjUgClEgNDMuMDYyNSAyNi4wMzEyNSAzOS42NzE4NzUgMjguNDIxODc1IApRIDM2LjI4MTI1IDMwLjgxMjUgMzAuNDIxODc1IDMwLjgxMjUgCkwgMTkuNjcxODc1IDMwLjgxMjUgCkwgMTkuNjcxODc1IDAgCkwgOS44MTI1IDAgCkwgOS44MTI1IDcyLjkwNjI1IApMIDMyLjA3ODEyNSA3Mi45MDYyNSAKUSA0NC41NzgxMjUgNzIuOTA2MjUgNTAuNzM0Mzc1IDY3LjY3MTg3NSAKUSA1Ni44OTA2MjUgNjIuNDUzMTI1IDU2Ljg5MDYyNSA1MS45MDYyNSAKUSA1Ni44OTA2MjUgNDUuMDE1NjI1IDUzLjY4NzUgNDAuNDY4NzUgClEgNTAuNDg0Mzc1IDM1LjkzNzUgNDQuMzkwNjI1IDM0LjE4NzUgCnoKTSAxOS42NzE4NzUgNjQuNzk2ODc1IApMIDE5LjY3MTg3NSAzOC45MjE4NzUgCkwgMzIuMDc4MTI1IDM4LjkyMTg3NSAKUSAzOS4yMDMxMjUgMzguOTIxODc1IDQyLjg0Mzc1IDQyLjIxODc1IApRIDQ2LjQ4NDM3NSA0NS41MTU2MjUgNDYuNDg0Mzc1IDUxLjkwNjI1IApRIDQ2LjQ4NDM3NSA1OC4yOTY4NzUgNDIuODQzNzUgNjEuNTQ2ODc1IApRIDM5LjIwMzEyNSA2NC43OTY4NzUgMzIuMDc4MTI1IDY0Ljc5Njg3NSAKegoiIGlkPSJEZWphVnVTYW5zLTgyIi8+CiAgICAgICA8cGF0aCBkPSJNIDE4LjMxMjUgNzAuMjE4NzUgCkwgMTguMzEyNSA1NC42ODc1IApMIDM2LjgxMjUgNTQuNjg3NSAKTCAzNi44MTI1IDQ3LjcwMzEyNSAKTCAxOC4zMTI1IDQ3LjcwMzEyNSAKTCAxOC4zMTI1IDE4LjAxNTYyNSAKUSAxOC4zMTI1IDExLjMyODEyNSAyMC4xNDA2MjUgOS40MjE4NzUgClEgMjEuOTY4NzUgNy41MTU2MjUgMjcuNTkzNzUgNy41MTU2MjUgCkwgMzYuODEyNSA3LjUxNTYyNSAKTCAzNi44MTI1IDAgCkwgMjcuNTkzNzUgMCAKUSAxNy4xODc1IDAgMTMuMjM0Mzc1IDMuODc1IApRIDkuMjgxMjUgNy43NjU2MjUgOS4yODEyNSAxOC4wMTU2MjUgCkwgOS4yODEyNSA0Ny43MDMxMjUgCkwgMi42ODc1IDQ3LjcwMzEyNSAKTCAyLjY4NzUgNTQuNjg3NSAKTCA5LjI4MTI1IDU0LjY4NzUgCkwgOS4yODEyNSA3MC4yMTg3NSAKegoiIGlkPSJEZWphVnVTYW5zLTExNiIvPgogICAgICA8L2RlZnM+CiAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzIiLz4KICAgICAgPHVzZSB4PSI3NS4xOTUzMTIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTk3Ii8+CiAgICAgIDx1c2UgeD0iMTM2LjQ3NDYwOSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMTIyIi8+CiAgICAgIDx1c2UgeD0iMTg4Ljk2NDg0NCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtOTciLz4KICAgICAgPHVzZSB4PSIyNTAuMjQ0MTQxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0xMTQiLz4KICAgICAgPHVzZSB4PSIyODkuNjA3NDIyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0xMDAiLz4KICAgICAgPHVzZSB4PSIzNTMuMDgzOTg0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMiIvPgogICAgICA8dXNlIHg9IjM4NC44NzEwOTQiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTgyIi8+CiAgICAgIDx1c2UgeD0iNDUyLjEwMzUxNiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtOTciLz4KICAgICAgPHVzZSB4PSI1MTMuMzgyODEyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0xMTYiLz4KICAgICAgPHVzZSB4PSI1NTIuNTkxNzk3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0xMDEiLz4KICAgICA8L2c+CiAgICA8L2c+CiAgIDwvZz4KICAgPGcgaWQ9ImxpbmUyZF8xNSI+CiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDU3ZmVhMWJmZTIpIiBkPSJNIDgwLjYyMzI5NSAxMzUuMDg2NTAyIApMIDk3LjY0ODIwMiAxMzUuMDg2NTAyIApMIDExMC4xMTI4NjYgMTM1LjA4NjUwMiAKTCAxNDQuMTYyNjc5IDEzNS4wODY1MDIgCkwgMTYyLjcwNzY2NyAxMzUuMDg2NTAyIApMIDE3MC4wMDQwNTUgMTM1LjA4NjUwMiAKTCAxNzMuNjUyMjQ5IDEzNS4wODY1MDIgCkwgMTc3LjMwMDQ0NCAxMzUuMDg2NTAyIApMIDE5MC42NzcxNTYgMTM1LjA4NjUwMiAKTCAxOTMuNzE3MzE4IDEzNS4wODY1MDIgCkwgMTk4Ljg4NTU5MyAxMzUuMDg2NTAyIApMIDIwMy43NDk4NTIgMTM1LjA4NjUwMiAKTCAyMDcuMDk0MDMgMTM1LjA4NjUwMiAKTCAyMDcuNzAyMDYzIDEzNS4wODY1MDIgCkwgMjMzLjg0NzQ1NSAxMzUuMDg2NTAyIApMIDI1Ni42NDg2NjkgMTM1LjA4NjUwMiAKTCAyODguODc0Mzg1IDEzNS4wODY1MDIgCkwgMjk2LjQ3NDc5IDEzNS4wODY1MDIgCkwgMjk2Ljc3ODgwNiAxMzUuMDg2NTAyIApMIDMwNi44MTEzNCAxMzUuMDg2NTAyIApMIDMyMi42MjAxODIgMTM1LjA4NjUwMiAKTCAzNzguODYzMTc3IDEzNS4wODY1MDIgCkwgMzk4LjkyODI0NiAxMzUuMDg2NTAyIApMIDQwNS45MjA2MTggMTM1LjA4NjUwMiAKTCA0MjkuMzI5ODY1IDEzNS4wODY1MDIgCkwgNDM1LjcxNDIwNSAxMzUuMDg2NTAyIAoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMxZjc3YjQ7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDoxLjU7Ii8+CiAgIDwvZz4KICAgPGcgaWQ9ImxpbmUyZF8xNiI+CiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDU3ZmVhMWJmZTIpIiBkPSJNIDgwLjYyMzI5NSA2NS4yNjE1MjIgCkwgOTcuNjQ4MjAyIDY1LjI2MTUyMiAKTCAxMTAuMTEyODY2IDY1LjI2MTUyMiAKTCAxNDQuMTYyNjc5IDY1LjI2MTUyMiAKTCAxNjIuNzA3NjY3IDY1LjI2MTUyMiAKTCAxNzAuMDA0MDU1IDY1LjI2MTUyMiAKTCAxNzMuNjUyMjQ5IDY1LjI2MTUyMiAKTCAxNzcuMzAwNDQ0IDY1LjI2MTUyMiAKTCAxOTAuNjc3MTU2IDY1LjI2MTUyMiAKTCAxOTMuNzE3MzE4IDY1LjI2MTUyMiAKTCAxOTguODg1NTkzIDY1LjI2MTUyMiAKTCAyMDMuNzQ5ODUyIDY1LjI2MTUyMiAKTCAyMDcuMDk0MDMgNjUuMjYxNTIyIApMIDIwNy43MDIwNjMgNjUuMjYxNTIyIApMIDIzMy44NDc0NTUgNjUuMjYxNTIyIApMIDI1Ni42NDg2NjkgNjUuMjYxNTIyIApMIDI4OC44NzQzODUgNjUuMjYxNTIyIApMIDI5Ni40NzQ3OSA2NS4yNjE1MjIgCkwgMjk2Ljc3ODgwNiA2NS4yNjE1MjIgCkwgMzA2LjgxMTM0IDY1LjI2MTUyMiAKTCAzMjIuNjIwMTgyIDY1LjI2MTUyMiAKTCAzNzguODYzMTc3IDY1LjI2MTUyMiAKTCAzOTguOTI4MjQ2IDY1LjI2MTUyMiAKTCA0MDUuOTIwNjE4IDY1LjI2MTUyMiAKTCA0MjkuMzI5ODY1IDY1LjI2MTUyMiAKTCA0MzUuNzE0MjA1IDY1LjI2MTUyMiAKIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMWY3N2I0O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MS41OyIvPgogICA8L2c+CiAgIDxnIGlkPSJsaW5lMmRfMTciPgogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1N2ZlYTFiZmUyKSIgZD0iTSA4MC42MjMyOTUgMTkxLjg4MzYwNSAKTCA5Ny42NDgyMDIgMTkxLjg4MzYwNSAKTCAxMTAuMTEyODY2IDE5MS44ODM2MDUgCkwgMTQ0LjE2MjY3OSAxOTEuODgzNjA1IApMIDE2Mi43MDc2NjcgMTkxLjg4MzYwNSAKTCAxNzAuMDA0MDU1IDE5MS44ODM2MDUgCkwgMTczLjY1MjI0OSAxOTEuODgzNjA1IApMIDE3Ny4zMDA0NDQgMTkxLjg4MzYwNSAKTCAxOTAuNjc3MTU2IDE5MS44ODM2MDUgCkwgMTkzLjcxNzMxOCAxOTEuODgzNjA1IApMIDE5OC44ODU1OTMgMTkxLjg4MzYwNSAKTCAyMDMuNzQ5ODUyIDE5MS44ODM2MDUgCkwgMjA3LjA5NDAzIDE5MS44ODM2MDUgCkwgMjA3LjcwMjA2MyAxOTEuODgzNjA1IApMIDIzMy44NDc0NTUgMTkxLjg4MzYwNSAKTCAyNTYuNjQ4NjY5IDE5MS44ODM2MDUgCkwgMjg4Ljg3NDM4NSAxOTEuODgzNjA1IApMIDI5Ni40NzQ3OSAxOTEuODgzNjA1IApMIDI5Ni43Nzg4MDYgMTkxLjg4MzYwNSAKTCAzMDYuODExMzQgMTkxLjg4MzYwNSAKTCAzMjIuNjIwMTgyIDE5MS44ODM2MDUgCkwgMzc4Ljg2MzE3NyAxOTEuODgzNjA1IApMIDM5OC45MjgyNDYgMTkxLjg4MzYwNSAKTCA0MDUuOTIwNjE4IDE5MS44ODM2MDUgCkwgNDI5LjMyOTg2NSAxOTEuODgzNjA1IApMIDQzNS43MTQyMDUgMTkxLjg4MzYwNSAKIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMWY3N2I0O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MS41OyIvPgogICA8L2c+CiAgIDxnIGlkPSJsaW5lMmRfMTgiPgogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1N2ZlYTFiZmUyKSIgZD0iTSA4MC42MjMyOTUgMTUyLjg0NzQxOCAKTCA5Ny42NDgyMDIgMTUyLjg0NzQxOCAKTCAxMTAuMTEyODY2IDE1Mi44NDc0MTggCkwgMTQ0LjE2MjY3OSAxNTIuODQ3NDE4IApMIDE2Mi43MDc2NjcgMTUyLjg0NzQxOCAKTCAxNzAuMDA0MDU1IDE1Mi44NDc0MTggCkwgMTczLjY1MjI0OSAxNTIuODQ3NDE4IApMIDE3Ny4zMDA0NDQgMTUyLjg0NzQxOCAKTCAxOTAuNjc3MTU2IDE1Mi44NDc0MTggCkwgMTkzLjcxNzMxOCAxNTIuODQ3NDE4IApMIDE5OC44ODU1OTMgMTUyLjg0NzQxOCAKTCAyMDMuNzQ5ODUyIDE1Mi44NDc0MTggCkwgMjA3LjA5NDAzIDE1Mi44NDc0MTggCkwgMjA3LjcwMjA2MyAxNTIuODQ3NDE4IApMIDIzMy44NDc0NTUgMTUyLjg0NzQxOCAKTCAyNTYuNjQ4NjY5IDE1Mi44NDc0MTggCkwgMjg4Ljg3NDM4NSAxNTIuODQ3NDE4IApMIDI5Ni40NzQ3OSAxNTIuODQ3NDE4IApMIDI5Ni43Nzg4MDYgMTUyLjg0NzQxOCAKTCAzMDYuODExMzQgMTUyLjg0NzQxOCAKTCAzMjIuNjIwMTgyIDE1Mi44NDc0MTggCkwgMzc4Ljg2MzE3NyAxNTIuODQ3NDE4IApMIDM5OC45MjgyNDYgMTUyLjg0NzQxOCAKTCA0MDUuOTIwNjE4IDE1Mi44NDc0MTggCkwgNDI5LjMyOTg2NSAxNTIuODQ3NDE4IApMIDQzNS43MTQyMDUgMTUyLjg0NzQxOCAKIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMWY3N2I0O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MS41OyIvPgogICA8L2c+CiAgIDxnIGlkPSJsaW5lMmRfMTkiPgogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1N2ZlYTFiZmUyKSIgZD0iTSA4MC42MjMyOTUgMTQzLjY1NTMzMSAKTCA5Ny42NDgyMDIgOTAuMjc5MjU2IApMIDExMC4xMTI4NjYgNzQuOTg0ODk2IApMIDE0NC4xNjI2NzkgNjcuMjA4MzMxIApMIDE2Mi43MDc2NjcgNzAuNDM1ODIxIApMIDE3MC4wMDQwNTUgNzIuMjE4MTA3IApMIDE3My42NTIyNDkgNzMuMTc0ODYxIApMIDE3Ny4zMDA0NDQgNzQuMTY1NTMyIApMIDE5MC42NzcxNTYgNzcuOTk3OTU1IApMIDE5My43MTczMTggNzguODk3NTg0IApMIDE5OC44ODU1OTMgODAuNDQwNDQ0IApMIDIwMy43NDk4NTIgODEuOTAyMjU5IApMIDIwNy4wOTQwMyA4Mi45MDk4NjggCkwgMjA3LjcwMjA2MyA4My4wOTMxNTQgCkwgMjMzLjg0NzQ1NSA5MC44OTU4ODkgCkwgMjU2LjY0ODY2OSA5Ny40MDg3MDQgCkwgMjg4Ljg3NDM4NSAxMDUuOTU5NzI0IApMIDI5Ni40NzQ3OSAxMDcuODU4OTA2IApMIDI5Ni43Nzg4MDYgMTA3LjkzMzk0NSAKTCAzMDYuODExMzQgMTEwLjM3MDU3MSAKTCAzMjIuNjIwMTgyIDExNC4wNTY5NDIgCkwgMzc4Ljg2MzE3NyAxMjUuNzc1NDIyIApMIDM5OC45MjgyNDYgMTI5LjQ4NTM3NSAKTCA0MDUuOTIwNjE4IDEzMC43MjYzMzggCkwgNDI5LjMyOTg2NSAxMzQuNjk4ODYzIApMIDQzNS43MTQyMDUgMTM1LjczNjA2OCAKIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZmY3ZjBlO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MS41OyIvPgogICA8L2c+CiAgIDxnIGlkPSJsaW5lMmRfMjAiPgogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1N2ZlYTFiZmUyKSIgZD0iTSA4MC42MjMyOTUgODcuMDgyNjQ1IApMIDk3LjY0ODIwMiAzMC4xODkxNzIgCkwgMTEwLjExMjg2NiAxOC4zMTkwOTEgCkwgMTQ0LjE2MjY3OSAyMS4zMDg0MDggCkwgMTYyLjcwNzY2NyAyOS4yODM3NSAKTCAxNzAuMDA0MDU1IDMyLjcwNDIxOCAKTCAxNzMuNjUyMjQ5IDM0LjQzNjAzOSAKTCAxNzcuMzAwNDQ0IDM2LjE3NDA1MiAKTCAxOTAuNjc3MTU2IDQyLjUyODU1NCAKTCAxOTMuNzE3MzE4IDQzLjk1NzQxNCAKTCAxOTguODg1NTkzIDQ2LjM2NTg3NSAKTCAyMDMuNzQ5ODUyIDQ4LjYwNTI2NSAKTCAyMDcuMDk0MDMgNTAuMTI3NzMxIApMIDIwNy43MDIwNjMgNTAuNDAyOTY1IApMIDIzMy44NDc0NTUgNjEuNzMwNzE2IApMIDI1Ni42NDg2NjkgNzAuNzU0Nzg3IApMIDI4OC44NzQzODUgODIuMTk3NTU5IApMIDI5Ni40NzQ3OSA4NC42ODkyMzggCkwgMjk2Ljc3ODgwNiA4NC43ODczNTggCkwgMzA2LjgxMTM0IDg3Ljk2MDUzMyAKTCAzMjIuNjIwMTgyIDkyLjcxNjI1MSAKTCAzNzguODYzMTc3IDEwNy41MjYwNyAKTCAzOTguOTI4MjQ2IDExMi4xMzA2OTMgCkwgNDA1LjkyMDYxOCAxMTMuNjYyOTIgCkwgNDI5LjMyOTg2NSAxMTguNTQyMzQxIApMIDQzNS43MTQyMDUgMTE5LjgxMDE3NiAKIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZmY3ZjBlO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MS41OyIvPgogICA8L2c+CiAgIDxnIGlkPSJsaW5lMmRfMjEiPgogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1N2ZlYTFiZmUyKSIgZD0iTSA4MC42MjMyOTUgMjQwLjcwMDkwOSAKTCA5Ny42NDgyMDIgMjE2LjQ2NTk0OCAKTCAxMTAuMTEyODY2IDIwNC4yNzQ5OTcgCkwgMTQ0LjE2MjY3OSAxODYuMDM3NjQ2IApMIDE2Mi43MDc2NjcgMTgxLjM0MzQ5MyAKTCAxNzAuMDA0MDU1IDE4MC4wODQ1NyAKTCAxNzMuNjUyMjQ5IDE3OS41NTI1MTUgCkwgMTc3LjMwMDQ0NCAxNzkuMDc4MzI2IApMIDE5MC42NzcxNTYgMTc3Ljc2MzMwNiAKTCAxOTMuNzE3MzE4IDE3Ny41NDQyNCAKTCAxOTguODg1NTkzIDE3Ny4yMjk0ODYgCkwgMjAzLjc0OTg1MiAxNzYuOTkzNTY3IApMIDIwNy4wOTQwMyAxNzYuODYyMTcxIApMIDIwNy43MDIwNjMgMTc2Ljg0MDgxIApMIDIzMy44NDc0NTUgMTc2LjUyMjkgCkwgMjU2LjY0ODY2OSAxNzYuOTM0NzE1IApMIDI4OC44NzQzODUgMTc4LjE0ODU2NiAKTCAyOTYuNDc0NzkgMTc4LjUwNDIwMiAKTCAyOTYuNzc4ODA2IDE3OC41MTg4MzYgCkwgMzA2LjgxMTM0IDE3OS4wMTcxOTQgCkwgMzIyLjYyMDE4MiAxNzkuODUyNzIgCkwgMzc4Ljg2MzE3NyAxODMuMDg3OTA2IApMIDM5OC45MjgyNDYgMTg0LjI3NjM5NiAKTCA0MDUuOTIwNjE4IDE4NC42OTAxMiAKTCA0MjkuMzI5ODY1IDE4Ni4wNjY5MjYgCkwgNDM1LjcxNDIwNSAxODYuNDM5MjExIAoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZjdmMGU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDoxLjU7Ii8+CiAgIDwvZz4KICAgPGcgaWQ9ImxpbmUyZF8yMiI+CiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDU3ZmVhMWJmZTIpIiBkPSJNIDgwLjYyMzI5NSAyMjUuMzAwNjc2IApMIDk3LjY0ODIwMiAxOTIuNjU4MTIgCkwgMTEwLjExMjg2NiAxNzguMTY0NzEgCkwgMTQ0LjE2MjY3OSAxNTkuNTAwMjg5IApMIDE2Mi43MDc2NjcgMTU1Ljc4ODM3IApMIDE3MC4wMDQwNTUgMTU0Ljk4Mjk4MyAKTCAxNzMuNjUyMjQ5IDE1NC42ODQ0NDEgCkwgMTc3LjMwMDQ0NCAxNTQuNDQ2NjExIApMIDE5MC42NzcxNTYgMTU0LjAwNzkyOCAKTCAxOTMuNzE3MzE4IDE1My45ODc3NjUgCkwgMTk4Ljg4NTU5MyAxNTQuMDA5Mjk3IApMIDIwMy43NDk4NTIgMTU0LjA4NjkyOSAKTCAyMDcuMDk0MDMgMTU0LjE2OTA1MSAKTCAyMDcuNzAyMDYzIDE1NC4xODYzMTUgCkwgMjMzLjg0NzQ1NSAxNTUuNDU5NjI1IApMIDI1Ni42NDg2NjkgMTU3LjEzMzYxMyAKTCAyODguODc0Mzg1IDE1OS45MzAyMjkgCkwgMjk2LjQ3NDc5IDE2MC42MjcwNTQgCkwgMjk2Ljc3ODgwNiAxNjAuNjU1MDk0IApMIDMwNi44MTEzNCAxNjEuNTg1ODI4IApMIDMyMi42MjAxODIgMTYzLjA2NDc1MyAKTCAzNzguODYzMTc3IDE2OC4yNjM4MTUgCkwgMzk4LjkyODI0NiAxNzAuMDQ5NDE4IApMIDQwNS45MjA2MTggMTcwLjY2MDMxNyAKTCA0MjkuMzI5ODY1IDE3Mi42NTk4MiAKTCA0MzUuNzE0MjA1IDE3My4xOTI1NzYgCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmN2YwZTtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjEuNTsiLz4KICAgPC9nPgogICA8ZyBpZD0icGF0Y2hfMyI+CiAgICA8cGF0aCBkPSJNIDYyLjg2ODc1IDI1MS44MiAKTCA2Mi44Njg3NSA3LjIgCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS13aWR0aDowLjg7Ii8+CiAgIDwvZz4KICAgPGcgaWQ9InBhdGNoXzQiPgogICAgPHBhdGggZD0iTSA0NTMuNDY4NzUgMjUxLjgyIApMIDQ1My40Njg3NSA3LjIgCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS13aWR0aDowLjg7Ii8+CiAgIDwvZz4KICAgPGcgaWQ9InBhdGNoXzUiPgogICAgPHBhdGggZD0iTSA2Mi44Njg3NSAyNTEuODIgCkwgNDUzLjQ2ODc1IDI1MS44MiAKIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLXdpZHRoOjAuODsiLz4KICAgPC9nPgogICA8ZyBpZD0icGF0Y2hfNiI+CiAgICA8cGF0aCBkPSJNIDYyLjg2ODc1IDcuMiAKTCA0NTMuNDY4NzUgNy4yIAoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utd2lkdGg6MC44OyIvPgogICA8L2c+CiAgIDxnIGlkPSJsZWdlbmRfMSI+CiAgICA8ZyBpZD0icGF0Y2hfNyI+CiAgICAgPHBhdGggZD0iTSAzMTMuNjEwOTM3IDQ0LjU1NjI1IApMIDQ0Ni40Njg3NSA0NC41NTYyNSAKUSA0NDguNDY4NzUgNDQuNTU2MjUgNDQ4LjQ2ODc1IDQyLjU1NjI1IApMIDQ0OC40Njg3NSAxNC4yIApRIDQ0OC40Njg3NSAxMi4yIDQ0Ni40Njg3NSAxMi4yIApMIDMxMy42MTA5MzcgMTIuMiAKUSAzMTEuNjEwOTM3IDEyLjIgMzExLjYxMDkzNyAxNC4yIApMIDMxMS42MTA5MzcgNDIuNTU2MjUgClEgMzExLjYxMDkzNyA0NC41NTYyNSAzMTMuNjEwOTM3IDQ0LjU1NjI1IAp6CiIgc3R5bGU9ImZpbGw6I2ZmZmZmZjtvcGFjaXR5OjAuODtzdHJva2U6I2NjY2NjYztzdHJva2UtbGluZWpvaW46bWl0ZXI7Ii8+CiAgICA8L2c+CiAgICA8ZyBpZD0ibGluZTJkXzIzIj4KICAgICA8cGF0aCBkPSJNIDMxNS42MTA5MzcgMjAuMjk4NDM4IApMIDMzNS42MTA5MzcgMjAuMjk4NDM4IAoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMxZjc3YjQ7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDoxLjU7Ii8+CiAgICA8L2c+CiAgICA8ZyBpZD0ibGluZTJkXzI0Ii8+CiAgICA8ZyBpZD0idGV4dF8xNyI+CiAgICAgPCEtLSBQcm9wb3J0aW9uYWwgSGF6YXJkIC0tPgogICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM0My42MTA5MzcgMjMuNzk4NDM4KXNjYWxlKDAuMSAtMC4xKSI+CiAgICAgIDxkZWZzPgogICAgICAgPHBhdGggZD0iTSAxOS42NzE4NzUgNjQuNzk2ODc1IApMIDE5LjY3MTg3NSAzNy40MDYyNSAKTCAzMi4wNzgxMjUgMzcuNDA2MjUgClEgMzguOTY4NzUgMzcuNDA2MjUgNDIuNzE4NzUgNDAuOTY4NzUgClEgNDYuNDg0Mzc1IDQ0LjUzMTI1IDQ2LjQ4NDM3NSA1MS4xMjUgClEgNDYuNDg0Mzc1IDU3LjY3MTg3NSA0Mi43MTg3NSA2MS4yMzQzNzUgClEgMzguOTY4NzUgNjQuNzk2ODc1IDMyLjA3ODEyNSA2NC43OTY4NzUgCnoKTSA5LjgxMjUgNzIuOTA2MjUgCkwgMzIuMDc4MTI1IDcyLjkwNjI1IApRIDQ0LjM0Mzc1IDcyLjkwNjI1IDUwLjYwOTM3NSA2Ny4zNTkzNzUgClEgNTYuODkwNjI1IDYxLjgxMjUgNTYuODkwNjI1IDUxLjEyNSAKUSA1Ni44OTA2MjUgNDAuMzI4MTI1IDUwLjYwOTM3NSAzNC44MTI1IApRIDQ0LjM0Mzc1IDI5LjI5Njg3NSAzMi4wNzgxMjUgMjkuMjk2ODc1IApMIDE5LjY3MTg3NSAyOS4yOTY4NzUgCkwgMTkuNjcxODc1IDAgCkwgOS44MTI1IDAgCnoKIiBpZD0iRGVqYVZ1U2Fucy04MCIvPgogICAgICAgPHBhdGggZD0iTSAzMC42MDkzNzUgNDguMzkwNjI1IApRIDIzLjM5MDYyNSA0OC4zOTA2MjUgMTkuMTg3NSA0Mi43NSAKUSAxNC45ODQzNzUgMzcuMTA5Mzc1IDE0Ljk4NDM3NSAyNy4yOTY4NzUgClEgMTQuOTg0Mzc1IDE3LjQ4NDM3NSAxOS4xNTYyNSAxMS44NDM3NSAKUSAyMy4zNDM3NSA2LjIwMzEyNSAzMC42MDkzNzUgNi4yMDMxMjUgClEgMzcuNzk2ODc1IDYuMjAzMTI1IDQxLjk4NDM3NSAxMS44NTkzNzUgClEgNDYuMTg3NSAxNy41MzEyNSA0Ni4xODc1IDI3LjI5Njg3NSAKUSA0Ni4xODc1IDM3LjAxNTYyNSA0MS45ODQzNzUgNDIuNzAzMTI1IApRIDM3Ljc5Njg3NSA0OC4zOTA2MjUgMzAuNjA5Mzc1IDQ4LjM5MDYyNSAKegpNIDMwLjYwOTM3NSA1NiAKUSA0Mi4zMjgxMjUgNTYgNDkuMDE1NjI1IDQ4LjM3NSAKUSA1NS43MTg3NSA0MC43NjU2MjUgNTUuNzE4NzUgMjcuMjk2ODc1IApRIDU1LjcxODc1IDEzLjg3NSA0OS4wMTU2MjUgNi4yMTg3NSAKUSA0Mi4zMjgxMjUgLTEuNDIxODc1IDMwLjYwOTM3NSAtMS40MjE4NzUgClEgMTguODQzNzUgLTEuNDIxODc1IDEyLjE3MTg3NSA2LjIxODc1IApRIDUuNTE1NjI1IDEzLjg3NSA1LjUxNTYyNSAyNy4yOTY4NzUgClEgNS41MTU2MjUgNDAuNzY1NjI1IDEyLjE3MTg3NSA0OC4zNzUgClEgMTguODQzNzUgNTYgMzAuNjA5Mzc1IDU2IAp6CiIgaWQ9IkRlamFWdVNhbnMtMTExIi8+CiAgICAgICA8cGF0aCBkPSJNIDE4LjEwOTM3NSA4LjIwMzEyNSAKTCAxOC4xMDkzNzUgLTIwLjc5Njg3NSAKTCA5LjA3ODEyNSAtMjAuNzk2ODc1IApMIDkuMDc4MTI1IDU0LjY4NzUgCkwgMTguMTA5Mzc1IDU0LjY4NzUgCkwgMTguMTA5Mzc1IDQ2LjM5MDYyNSAKUSAyMC45NTMxMjUgNTEuMjY1NjI1IDI1LjI2NTYyNSA1My42MjUgClEgMjkuNTkzNzUgNTYgMzUuNTkzNzUgNTYgClEgNDUuNTYyNSA1NiA1MS43ODEyNSA0OC4wOTM3NSAKUSA1OC4wMTU2MjUgNDAuMTg3NSA1OC4wMTU2MjUgMjcuMjk2ODc1IApRIDU4LjAxNTYyNSAxNC40MDYyNSA1MS43ODEyNSA2LjQ4NDM3NSAKUSA0NS41NjI1IC0xLjQyMTg3NSAzNS41OTM3NSAtMS40MjE4NzUgClEgMjkuNTkzNzUgLTEuNDIxODc1IDI1LjI2NTYyNSAwLjk1MzEyNSAKUSAyMC45NTMxMjUgMy4zMjgxMjUgMTguMTA5Mzc1IDguMjAzMTI1IAp6Ck0gNDguNjg3NSAyNy4yOTY4NzUgClEgNDguNjg3NSAzNy4yMDMxMjUgNDQuNjA5Mzc1IDQyLjg0Mzc1IApRIDQwLjUzMTI1IDQ4LjQ4NDM3NSAzMy40MDYyNSA0OC40ODQzNzUgClEgMjYuMjY1NjI1IDQ4LjQ4NDM3NSAyMi4xODc1IDQyLjg0Mzc1IApRIDE4LjEwOTM3NSAzNy4yMDMxMjUgMTguMTA5Mzc1IDI3LjI5Njg3NSAKUSAxOC4xMDkzNzUgMTcuMzkwNjI1IDIyLjE4NzUgMTEuNzUgClEgMjYuMjY1NjI1IDYuMTA5Mzc1IDMzLjQwNjI1IDYuMTA5Mzc1IApRIDQwLjUzMTI1IDYuMTA5Mzc1IDQ0LjYwOTM3NSAxMS43NSAKUSA0OC42ODc1IDE3LjM5MDYyNSA0OC42ODc1IDI3LjI5Njg3NSAKegoiIGlkPSJEZWphVnVTYW5zLTExMiIvPgogICAgICAgPHBhdGggZD0iTSA1NC44OTA2MjUgMzMuMDE1NjI1IApMIDU0Ljg5MDYyNSAwIApMIDQ1LjkwNjI1IDAgCkwgNDUuOTA2MjUgMzIuNzE4NzUgClEgNDUuOTA2MjUgNDAuNDg0Mzc1IDQyLjg3NSA0NC4zMjgxMjUgClEgMzkuODQzNzUgNDguMTg3NSAzMy43OTY4NzUgNDguMTg3NSAKUSAyNi41MTU2MjUgNDguMTg3NSAyMi4zMTI1IDQzLjU0Njg3NSAKUSAxOC4xMDkzNzUgMzguOTIxODc1IDE4LjEwOTM3NSAzMC45MDYyNSAKTCAxOC4xMDkzNzUgMCAKTCA5LjA3ODEyNSAwIApMIDkuMDc4MTI1IDU0LjY4NzUgCkwgMTguMTA5Mzc1IDU0LjY4NzUgCkwgMTguMTA5Mzc1IDQ2LjE4NzUgClEgMjEuMzQzNzUgNTEuMTI1IDI1LjcwMzEyNSA1My41NjI1IApRIDMwLjA3ODEyNSA1NiAzNS43OTY4NzUgNTYgClEgNDUuMjE4NzUgNTYgNTAuMDQ2ODc1IDUwLjE3MTg3NSAKUSA1NC44OTA2MjUgNDQuMzQzNzUgNTQuODkwNjI1IDMzLjAxNTYyNSAKegoiIGlkPSJEZWphVnVTYW5zLTExMCIvPgogICAgICAgPHBhdGggZD0iTSA5LjQyMTg3NSA3NS45ODQzNzUgCkwgMTguNDA2MjUgNzUuOTg0Mzc1IApMIDE4LjQwNjI1IDAgCkwgOS40MjE4NzUgMCAKegoiIGlkPSJEZWphVnVTYW5zLTEwOCIvPgogICAgICA8L2RlZnM+CiAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtODAiLz4KICAgICAgPHVzZSB4PSI1OC41NTI3MzQiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTExNCIvPgogICAgICA8dXNlIHg9Ijk3LjQxNjAxNiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMTExIi8+CiAgICAgIDx1c2UgeD0iMTU4LjU5NzY1NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMTEyIi8+CiAgICAgIDx1c2UgeD0iMjIyLjA3NDIxOSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMTExIi8+CiAgICAgIDx1c2UgeD0iMjgzLjI1NTg1OSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMTE0Ii8+CiAgICAgIDx1c2UgeD0iMzI0LjM2OTE0MSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMTE2Ii8+CiAgICAgIDx1c2UgeD0iMzYzLjU3ODEyNSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMTA1Ii8+CiAgICAgIDx1c2UgeD0iMzkxLjM2MTMyOCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMTExIi8+CiAgICAgIDx1c2UgeD0iNDUyLjU0Mjk2OSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMTEwIi8+CiAgICAgIDx1c2UgeD0iNTE1LjkyMTg3NSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtOTciLz4KICAgICAgPHVzZSB4PSI1NzcuMjAxMTcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0xMDgiLz4KICAgICAgPHVzZSB4PSI2MDQuOTg0Mzc1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMiIvPgogICAgICA8dXNlIHg9IjYzNi43NzE0ODQiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTcyIi8+CiAgICAgIDx1c2UgeD0iNzExLjk2Njc5NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtOTciLz4KICAgICAgPHVzZSB4PSI3NzMuMjQ2MDk0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0xMjIiLz4KICAgICAgPHVzZSB4PSI4MjUuNzM2MzI4IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy05NyIvPgogICAgICA8dXNlIHg9Ijg4Ny4wMTU2MjUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTExNCIvPgogICAgICA8dXNlIHg9IjkyNi4zNzg5MDYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTEwMCIvPgogICAgIDwvZz4KICAgIDwvZz4KICAgIDxnIGlkPSJsaW5lMmRfMjUiPgogICAgIDxwYXRoIGQ9Ik0gMzE1LjYxMDkzNyAzNC45NzY1NjMgCkwgMzM1LjYxMDkzNyAzNC45NzY1NjMgCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmN2YwZTtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjEuNTsiLz4KICAgIDwvZz4KICAgIDxnIGlkPSJsaW5lMmRfMjYiLz4KICAgIDxnIGlkPSJ0ZXh0XzE4Ij4KICAgICA8IS0tIEFjY2VsZXJhdGluZyBIYXphcmQgLS0+CiAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQzLjYxMDkzNyAzOC40NzY1NjMpc2NhbGUoMC4xIC0wLjEpIj4KICAgICAgPGRlZnM+CiAgICAgICA8cGF0aCBkPSJNIDM0LjE4NzUgNjMuMTg3NSAKTCAyMC43OTY4NzUgMjYuOTA2MjUgCkwgNDcuNjA5Mzc1IDI2LjkwNjI1IAp6Ck0gMjguNjA5Mzc1IDcyLjkwNjI1IApMIDM5Ljc5Njg3NSA3Mi45MDYyNSAKTCA2Ny41NzgxMjUgMCAKTCA1Ny4zMjgxMjUgMCAKTCA1MC42ODc1IDE4LjcwMzEyNSAKTCAxNy44MjgxMjUgMTguNzAzMTI1IApMIDExLjE4NzUgMCAKTCAwLjc4MTI1IDAgCnoKIiBpZD0iRGVqYVZ1U2Fucy02NSIvPgogICAgICAgPHBhdGggZD0iTSA0OC43ODEyNSA1Mi41OTM3NSAKTCA0OC43ODEyNSA0NC4xODc1IApRIDQ0Ljk2ODc1IDQ2LjI5Njg3NSA0MS4xNDA2MjUgNDcuMzQzNzUgClEgMzcuMzEyNSA0OC4zOTA2MjUgMzMuNDA2MjUgNDguMzkwNjI1IApRIDI0LjY1NjI1IDQ4LjM5MDYyNSAxOS44MTI1IDQyLjg0Mzc1IApRIDE0Ljk4NDM3NSAzNy4zMTI1IDE0Ljk4NDM3NSAyNy4yOTY4NzUgClEgMTQuOTg0Mzc1IDE3LjI4MTI1IDE5LjgxMjUgMTEuNzM0Mzc1IApRIDI0LjY1NjI1IDYuMjAzMTI1IDMzLjQwNjI1IDYuMjAzMTI1IApRIDM3LjMxMjUgNi4yMDMxMjUgNDEuMTQwNjI1IDcuMjUgClEgNDQuOTY4NzUgOC4yOTY4NzUgNDguNzgxMjUgMTAuNDA2MjUgCkwgNDguNzgxMjUgMi4wOTM3NSAKUSA0NS4wMTU2MjUgMC4zNDM3NSA0MC45ODQzNzUgLTAuNTMxMjUgClEgMzYuOTY4NzUgLTEuNDIxODc1IDMyLjQyMTg3NSAtMS40MjE4NzUgClEgMjAuMDYyNSAtMS40MjE4NzUgMTIuNzgxMjUgNi4zNDM3NSAKUSA1LjUxNTYyNSAxNC4xMDkzNzUgNS41MTU2MjUgMjcuMjk2ODc1IApRIDUuNTE1NjI1IDQwLjY3MTg3NSAxMi44NTkzNzUgNDguMzI4MTI1IApRIDIwLjIxODc1IDU2IDMzLjAxNTYyNSA1NiAKUSAzNy4xNTYyNSA1NiA0MS4xMDkzNzUgNTUuMTQwNjI1IApRIDQ1LjA2MjUgNTQuMjk2ODc1IDQ4Ljc4MTI1IDUyLjU5Mzc1IAp6CiIgaWQ9IkRlamFWdVNhbnMtOTkiLz4KICAgICAgIDxwYXRoIGQ9Ik0gNDUuNDA2MjUgMjcuOTg0Mzc1IApRIDQ1LjQwNjI1IDM3Ljc1IDQxLjM3NSA0My4xMDkzNzUgClEgMzcuMzU5Mzc1IDQ4LjQ4NDM3NSAzMC4wNzgxMjUgNDguNDg0Mzc1IApRIDIyLjg1OTM3NSA0OC40ODQzNzUgMTguODI4MTI1IDQzLjEwOTM3NSAKUSAxNC43OTY4NzUgMzcuNzUgMTQuNzk2ODc1IDI3Ljk4NDM3NSAKUSAxNC43OTY4NzUgMTguMjY1NjI1IDE4LjgyODEyNSAxMi44OTA2MjUgClEgMjIuODU5Mzc1IDcuNTE1NjI1IDMwLjA3ODEyNSA3LjUxNTYyNSAKUSAzNy4zNTkzNzUgNy41MTU2MjUgNDEuMzc1IDEyLjg5MDYyNSAKUSA0NS40MDYyNSAxOC4yNjU2MjUgNDUuNDA2MjUgMjcuOTg0Mzc1IAp6Ck0gNTQuMzkwNjI1IDYuNzgxMjUgClEgNTQuMzkwNjI1IC03LjE3MTg3NSA0OC4xODc1IC0xMy45ODQzNzUgClEgNDIgLTIwLjc5Njg3NSAyOS4yMDMxMjUgLTIwLjc5Njg3NSAKUSAyNC40Njg3NSAtMjAuNzk2ODc1IDIwLjI2NTYyNSAtMjAuMDkzNzUgClEgMTYuMDYyNSAtMTkuMzkwNjI1IDEyLjEwOTM3NSAtMTcuOTIxODc1IApMIDEyLjEwOTM3NSAtOS4xODc1IApRIDE2LjA2MjUgLTExLjMyODEyNSAxOS45MjE4NzUgLTEyLjM0Mzc1IApRIDIzLjc4MTI1IC0xMy4zNzUgMjcuNzgxMjUgLTEzLjM3NSAKUSAzNi42MjUgLTEzLjM3NSA0MS4wMTU2MjUgLTguNzY1NjI1IApRIDQ1LjQwNjI1IC00LjE1NjI1IDQ1LjQwNjI1IDUuMTcxODc1IApMIDQ1LjQwNjI1IDkuNjI1IApRIDQyLjYyNSA0Ljc4MTI1IDM4LjI4MTI1IDIuMzkwNjI1IApRIDMzLjkzNzUgMCAyNy44NzUgMCAKUSAxNy44MjgxMjUgMCAxMS42NzE4NzUgNy42NTYyNSAKUSA1LjUxNTYyNSAxNS4zMjgxMjUgNS41MTU2MjUgMjcuOTg0Mzc1IApRIDUuNTE1NjI1IDQwLjY3MTg3NSAxMS42NzE4NzUgNDguMzI4MTI1IApRIDE3LjgyODEyNSA1NiAyNy44NzUgNTYgClEgMzMuOTM3NSA1NiAzOC4yODEyNSA1My42MDkzNzUgClEgNDIuNjI1IDUxLjIxODc1IDQ1LjQwNjI1IDQ2LjM5MDYyNSAKTCA0NS40MDYyNSA1NC42ODc1IApMIDU0LjM5MDYyNSA1NC42ODc1IAp6CiIgaWQ9IkRlamFWdVNhbnMtMTAzIi8+CiAgICAgIDwvZGVmcz4KICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPgogICAgICA8dXNlIHg9IjY2LjY1ODIwMyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtOTkiLz4KICAgICAgPHVzZSB4PSIxMjEuNjM4NjcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy05OSIvPgogICAgICA8dXNlIHg9IjE3Ni42MTkxNDEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTEwMSIvPgogICAgICA8dXNlIHg9IjIzOC4xNDI1NzgiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTEwOCIvPgogICAgICA8dXNlIHg9IjI2NS45MjU3ODEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTEwMSIvPgogICAgICA8dXNlIHg9IjMyNy40NDkyMTkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTExNCIvPgogICAgICA8dXNlIHg9IjM2OC41NjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy05NyIvPgogICAgICA8dXNlIHg9IjQyOS44NDE3OTciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTExNiIvPgogICAgICA8dXNlIHg9IjQ2OS4wNTA3ODEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTEwNSIvPgogICAgICA8dXNlIHg9IjQ5Ni44MzM5ODQiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTExMCIvPgogICAgICA8dXNlIHg9IjU2MC4yMTI4OTEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTEwMyIvPgogICAgICA8dXNlIHg9IjYyMy42ODk0NTMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMyIi8+CiAgICAgIDx1c2UgeD0iNjU1LjQ3NjU2MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzIiLz4KICAgICAgPHVzZSB4PSI3MzAuNjcxODc1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy05NyIvPgogICAgICA8dXNlIHg9Ijc5MS45NTExNzIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTEyMiIvPgogICAgICA8dXNlIHg9Ijg0NC40NDE0MDYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTk3Ii8+CiAgICAgIDx1c2UgeD0iOTA1LjcyMDcwMyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMTE0Ii8+CiAgICAgIDx1c2UgeD0iOTQ1LjA4Mzk4NCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMTAwIi8+CiAgICAgPC9nPgogICAgPC9nPgogICA8L2c+CiAgPC9nPgogPC9nPgogPGRlZnM+CiAgPGNsaXBQYXRoIGlkPSJwNTdmZWExYmZlMiI+CiAgIDxyZWN0IGhlaWdodD0iMjQ0LjYyIiB3aWR0aD0iMzkwLjYiIHg9IjYyLjg2ODc1IiB5PSI3LjIiLz4KICA8L2NsaXBQYXRoPgogPC9kZWZzPgo8L3N2Zz4K"
     ]
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Accelerated Failure Time Model\n",
    "\n",
    "The Accelerated Failure Time (AFT) model is an alternative to [Cox's proportional hazards model](https://en.wikipedia.org/wiki/Proportional_hazards_model). The latter assumes that features only influence the hazard function via a constant multiplicative factor. In contrast, features in an AFT model can accelerate or decelerate the time to an event by a constant factor. The figure below depicts the predicted hazard functions of a proportional hazards model in blue and that of an AFT model in orange.\n",
    "\n",
    "![aft-ph.svg](attachment:aft-ph.svg)\n",
    "\n",
    "We can see that the hazard remains constant for the proportional hazards model and varies for the AFT model.\n",
    "\n",
    "The objective function in an AFT model can be expressed as a weighted least squares problem with respect to the logarithm of the survival time:\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "  \\arg \\min_{f} \\quad \\frac{1}{n} \\sum_{i=1}^n\n",
    "    \\omega_i (\\log y_i - f(\\mathbf{x}_i)) .\n",
    "\\end{equation}\n",
    "$$\n",
    "\n",
    "The weight $\\omega_i$ associated with the $i$-th sample is the inverse probability of being censored after time $y_i$:\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "  \\omega_i = \\frac{\\delta_i}{\\hat{G}(y_i)} ,\n",
    "\\end{equation}\n",
    "$$\n",
    "\n",
    "where $\\hat{G}(\\cdot)$ is an estimator of the censoring survivor function.\n",
    "\n",
    "Such a model can be fit with [sksurv.ensemble.GradientBoostingSurvivalAnalysis](https://scikit-survival.readthedocs.io/en/latest/api/generated/sksurv.ensemble.GradientBoostingSurvivalAnalysis.html#sksurv.ensemble.GradientBoostingSurvivalAnalysis) or\n",
    "[sksurv.ensemble.ComponentwiseGradientBoostingSurvivalAnalysis](https://scikit-survival.readthedocs.io/en/latest/api/generated/sksurv.ensemble.ComponentwiseGradientBoostingSurvivalAnalysis.html#sksurv.ensemble.ComponentwiseGradientBoostingSurvivalAnalysis)\n",
    "by specifying the `loss=\"ipcwls\"` argument."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.722\n"
     ]
    }
   ],
   "source": [
    "est_aft_ls = ComponentwiseGradientBoostingSurvivalAnalysis(\n",
    "    loss=\"ipcwls\", n_estimators=300, learning_rate=1.0, random_state=0\n",
    ").fit(X_train, y_train)\n",
    "cindex = est_aft_ls.score(X_test, y_test)\n",
    "print(round(cindex, 3))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Regularization\n",
    "\n",
    "The most important parameter in gradient boosting is the number of base learner to use (`n_estimators` argument). A higher number will lead to a more complex model. However, this can easily lead to overfitting on the training data. The easiest way would be to just use less base estimators, but there are three alternatives to combat overfitting:\n",
    "\n",
    "1. Use a `learning_rate` less than 1 to restrict the influence of individual base learners, similar to the [Ridge penalty](coxnet.ipynb#Ridge).\n",
    "2. Use a non-zero `dropout_rate`, which forces base learners to also account for some of the previously fitted base learners to be missing.\n",
    "3. Use `subsample` less than 1 such that each iteration only a portion of the training data is used. This is also known as *stochastic gradient boosting*."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "n_estimators = [i * 5 for i in range(1, 21)]\n",
    "\n",
    "estimators = {\n",
    "    \"no regularization\": GradientBoostingSurvivalAnalysis(learning_rate=1.0, max_depth=1, random_state=0),\n",
    "    \"learning rate\": GradientBoostingSurvivalAnalysis(learning_rate=0.1, max_depth=1, random_state=0),\n",
    "    \"dropout\": GradientBoostingSurvivalAnalysis(learning_rate=1.0, dropout_rate=0.1, max_depth=1, random_state=0),\n",
    "    \"subsample\": GradientBoostingSurvivalAnalysis(learning_rate=1.0, subsample=0.5, max_depth=1, random_state=0),\n",
    "}\n",
    "\n",
    "scores_reg = {k: [] for k in estimators.keys()}\n",
    "for n in n_estimators:\n",
    "    for name, est in estimators.items():\n",
    "        est.set_params(n_estimators=n)\n",
    "        est.fit(X_train, y_train)\n",
    "        cindex = est.score(X_test, y_test)\n",
    "        scores_reg[name].append(cindex)\n",
    "\n",
    "scores_reg = pd.DataFrame(scores_reg, index=n_estimators)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEHCAYAAAC0pdErAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABf20lEQVR4nO3dd3zTxf/A8dd10V1KaQsdtGVvkL2XylAEFZA9HCAKblTQHw7cgltQWQ5UQAXBwRQpyC6j0FJ2aaEUuvdOcr8/Evot0NK0TZqOez4efST5zLumzTufu/u8T0gpURRFUZSbWVm6AIqiKErVpAKEoiiKUiwVIBRFUZRiqQChKIqiFEsFCEVRFKVYNpYugCnVr19fBgYGWroYFpGVlYWTk5Oli2Exqv6q/qr+5av/kSNHEqWUnsWtq1EBIjAwkMOHD1u6GBYRHBzMgAEDLF0Mi1H1V/VX9R9Qrn2FENElrVNNTIqiKEqxVIBQFEVRiqUChKIoilIsFSAURVGUYqkAoSiKohTLrAFCCDFUCHFGCHFeCDG3mPVuQog/hRDHhRAnhRAPG7uvoiiKYl5mCxBCCGtgMTAMaA2MF0K0vmmzWUCElLIDMAD4SAhhZ+S+iqIoihmZ8wqiG3BeShkppcwH1gAjb9pGAi5CCAE4A8mAxsh9lRpAajRk7t1L3sWLli6Koig3MeeNcr7A5SKvY4DuN23zJfAHEAu4AGOllDohhDH7AiCEmAHMAPD29iY4ONgkha9uMjMzq1XdrVJTcdi7F4c9e7FOSUHa2JDx0Bhy+vYFIcp8vOpWf1NT9Vf1N0f9zRkgivsvv3l2oiFAKDAIaAJsF0L8Z+S++oVSLgWWAnTp0kXW1rspq8OdpFKnI/vAAVLWrCVjxw7QanHq3Zu6ox4k9fcNiJ9X45eaSoMFC7B2di7TsatD/c1J1V/V3xz1N2eAiAH8i7z2Q3+lUNTDwPtSP63deSHERaClkfsq1YQ2NZXU3zeQumYN+dHRWNetS71pU3EfOxa7Ro0AcBk6lKTlK0j47DNyTp7E75NPsG+tup0UxZLMGSBCgGZCiCDgCjAOmHDTNpeAO4H/hBDeQAsgEkg1Yl+lCpNSknv8OCmr15C+eTMyPx+HTp3wmT0Ll8GDsapT54bthZUV9WdMx7HTHVx5YQ5R48bj/co86o4diyhHk5OiKBVntgAhpdQIIWYDWwFrYKWU8qQQYqZh/dfAW8B3Qogw9M1KL0spEwGK29dcZVVMR5eVRdqff5Gydi15p05h5eiI26gHcR83DvsWLUrd37FLF4J+X0/sy3O59sabZB86VK4mJ0VRKs6s2VyllJuATTct+7rI81hgsLH7KlVX7pmzpK5dQ9rGP9BlZVGnZUsavPEGrsOHY+1ctjTENvXq4f/N16rJSVEsrEal+1Yqn9RouPLc82Rs346ws8N12DDqjhuLQ8eOFWoaUk1OimJ5KkAoFZLw2edkbN9O/SefwH3yZGzc3U16/Kre5KTLzyfhk0/JCQ2t0HEcOnbE86nZWDk6mqZgimICKheTUm4ZO3aQtGwZdceOxfPpp8sdHHLytRRodSWuv97k5Pn886Rv3cbFUaPIjYgob7FNRpOYyKVpD5P87bcIa2usHOzL9SOsrUn+9lsiH3iA7GPHLF0tRSmkriCUcsmPjiZ27jzs27bF+5V55T7OhYRMJi47iJWAFwa34P47fLG2urUJqbDJqXMnrjz/gsWbnHJOniRm9lNoU1Lw/fQTXIcOrdDxsg4e4uorrxA9cRIejz5K/admY2VnZ6LSVl0ZuQVsDI1FAmM6+2Fva23pIilFqCsIpcx0ubnEPPMswsoK308/vWXIqrHOx2cybukBCrQ6PJzr8MKvxxn+xR52n00ocR/Hzp0J2vA7jt27c+2NN4l94QW0mZnlrQr5Gh1/n7hKSFSy0fukb9pE9MRJAAT+/FOFgwOAU/duBG3cSN1Ro0hatoyoUaPJPXWqwsetqsKvpDFvfRjd393B/20IZ/6GcO78aBe/H4tBpyv2nljFAtQVhFImUkquvbmAvDNn8P/ma+z8fMt1nHNxGYxfdhCQrJ7Rg6aezvwVdpWFW08zZeUh+jStz9xhLWnr63bLvjbu7reMcrIZN16f7tFIyVn5/Hwwmh/2RxOfkQfApB6NmDesFU51iv+3kDodCZ9/TtLX3+DQqRN+X3yOjYdHOWpfPGtnJxq+tQCXu+7k6v/N5+KYh/Cc9SQe06cjbKr/v2pugZa/TlzlxwPRhF5Oxd7WihEdfJjYPYDMPA3vbT7Fc2uPs2z3Rebd05K+zTwtXeRar/r/1SmVKvW330j7/XfqP/kkzv36lesYZ65lMHH5AYQQrJ7eg6ZeLgCM6ODDkDbe/HTgEl/8e47hX+zh/o4+vDC4Bf71buy8vbnJyeODD7hy8iSezz6DnZ9fiec+H5/Jyr0XWXckhjyNjn7NPflgVCD7LiSyfM9Fdp9NZNGYDnQLqnfDftrMTGJfepnMf/+l7pjRNJg/H2GmJiDn/v1p/OcfXHvrbf0ggH934vPB+9Rp3Ngs5zO3yIRMfjp4id+OxJCWU0ATTydeG96aUZ38cHO0Ldzuj1l9+PNELAu3nmHyikP0bab/ktDG59YvCUrlEPosFzVDly5d5OHDhy1dDIuojFw0OSdPEj1+Ao5du+K/9BuEddnbi09fS2fCsoPYWAlWz+hBE8/iRyOl5xbwdfAFVuy5iJQwtVcAswY2pa7jrR/K2sxMjs6fj8vOYNBqcZ8wAY+Zjxd2mksp2Xs+iRV7Itl5JgE7GysevMOXR/oE0dzbpfA4hy4mM+fX41xOyWZ638Y8f3dz7G2tyb90ictPPkn+xSi8583DfeKESuv3SN+yhWtvvIkuJwfP556l3pQpCKtbW4arWi6iAq2OfyLi+PFgNHvPJ2FjJRjStgGTugfQo3G92/7+8jRaVu2P5sud50nLKeCBjr48P7g5fu4lj/CqavWvbBWpvxDiiJSyS7HrVICoGcz9D6JNTeXiqNFInY6g9evKNWIpIjadicsPYGdjxerpPWhcQnAo6mpaDh9vO8tvR2NwqWPDrIFNmdor8JbOzODgYHq3akXCF1+Qtv53rJycqPvYY+xuN4gVh2I5fS2D+s52TO4RyMQejajvXHy/SVaehnc3neKng5do5uXMJ00LsH3n/xCA72ef4tSjR5nrXVGahASuvvY6mTt34ti1Kw3fe/eWq6Sq8gEZm5rDmkOXWBNymfiMPHzrOjCheyPGdPHDy8W+TMdKyyngq+ALrNyrTwU/rVcgswY0veGq47qqUn9LUQHCCCpADDDLsaVOR8wTT5K5bx+BP67CoUOHMh8j/Eoak1YcxMHWmtXTexBYv2x3V5++ls4Hm0+z80wCvnUdeP7u5jeMeCpa/7jjJznz1gd4hoeQ4ODG9u730/6RcYzo5E8dG+OuenadiWf7218w7vB6shv40fbbpTgGBpSpzKYkpSTt9w3Evfsu6HR4zX2ZumPGFH4Tt+QHpE4n2X0ugR8PXOLf03FIYEBzTyb1CGBAC69iR6WVxZVU/ZeE9cf0XxJmD2rKlJ43fklQAcI8AUL1QSilSlq6lMxdu/Ce/3/lCg5hMfrg4GRnzeoZPQjwKFtwAGjZwJVvH+7GvguJvLfpNC/8epzley4yb1hL+jXXd2aejctg5Z6LrD92hfymY5nS7i7GHN7AhODvqRO7n4I5L2DXt2+pzUO6/Hyarfocr5B1RLXswvNN7qfJn5f4+KF6NzRJVSYhBHUffACnHt2JfeVVrr32Ohn//EPDt97G1tur0sohpSQ2LZcTl1M5cSWNsJg0TsSkkp6rob6zHTP7N2F8t0a39BlVhG9dBz56qAOP9Q3i/c2neXfTab7fF80Lg5tzf0dfrCoYgJSSqSuIGsJc36Cy9u3j0mPTcb3nHnwWfljmtvfjl1OZvOIgLva2rJnRwyQfHDqdLBzxdDk5hz5N65OamkJ4ohZ7Wyse7OTHI72DaOrljJSSjC1biP/4EwouX8axRw+85szBoW2bYo+tSUwk5qmnyTl2DI8nZuL51FNsjYjj1d/DycjTMGdwcx7t07jC34orQup0pPy8mvhFixB16tDg//6PY85ODBg40OTnik/P5YQhCFwPCElZ+QDYWgtaNnClnZ8bvZp4MLh1A+xszD9yfu/5RN7bfIrwK+m0bujKvHtaor1yskx//7q8PHKOHiVr714y9+3D2tmFhm+/VZh+vrpRTUxGUAFigEmPWXDtGhcfeBCb+h4Erl1b5jQQoYbg4OZgy+rppgkOReVptIUjnqRWw/QBzZnQrRHuTrd2ZMv8fFLW/kLikiVoU1JwvfdePJ979oa2/JyTJ4mZNRttaio+7793w/0NiZl5vLI+jG0RcXQNdGfRmA7luhIypbyLF7k6dx45x4+T36I5AVOm4HLXXVi7lW/UT3JWPidiUvVXBVf0QSEuXT8E2EpAc28X2vm60d6/Lu193WjZ0MXoJjtT0+lk4YinmJQc6jsIXJ1u8/clJQ1TYml55TStrkTQ7Oo57LQFaIUVkd5N8Eu5gp2VwOftt6h377DKq4iJqABhBBUgBpjseDI/n+jJU8g7d47A336jTuOgMu1/9FIKU1ccwt3JjtUzeuBb18FkZbuZVifZtSuYQUZ8g9ZmZpK0fDnJ332P1GqpN2E8HjNnkr1/P7GvvIq1uzv+i78sNnOslJLfj13h9T9OotFKXrm3FZO6N7Jo8kCp1ZL8/Q/ErlyJTWIi2Nri3Ls3rvcMw3nQoFtyVuVrdMSkZBOdnM2lpGyik7K5lJzF6WsZxKTkFG7X2NOJDn519QHBz402Pm442FW9u5zzNFp+PniJLSFn8PL2vmGdQ1YafpHh+F8Iw//CCZwyUwFI8WjI5SbtudykHbEBrci3syfm1AWm/rOMlimXieo7jLZvv4a/d93Kr1A5qT4IpVLFLVxEzvHj+H76SZmDw5HoZKauDMHD2Y7V03vgY8bgAGBtJbAy8kPa2tkZr2efxX38eBK++ILkVT+S8utvyOzsUm9+E0LwYCc/ejbx4KXfTjB/QzjbTl7jw9Htaehm3jqWRFhb4/HIw4QFBdK9fn3SN20mbfNmMoOD0dnaktSmCydbdme/Z0suZGi5mpZD0RuVHWytaVTPkQ5+dZncI4B2fm609XXD1f7WkUJVUR0bax7uHURQQTT9era+odkoL0J/J7q1mxuOfXvi3Ls3Tr16Yevjc8txdLo72DW2F4c/XESX/zYTOvIEn4x9lvuGdaNfc0+LNimWSpOHQ/ZVsxxaXUHUEKa8gkj7+29iX5hDvalT8J5XtjxLIVHJTFt5CC9Xe1ZP70EDt7INbSyv8tY/79w5Er74EhsvL7xfetHom9+klPx48BLv/n0KG2vByI4+2BRzf0JlkFJyJiqGHBsXLiVlkZqVR8vkS/S/EkrfK8epl5dBvo0dl1p0Ir3nABx696VRw7o08nDE07lOtU2frk1LI/fkSXLCwonZthX7C5HI3FywscHxjjtw6t0bp969sW/dqkz37ET9sZn01+dToNHySccxRLXtwfhujXioiz+eLsUMj77+GVoZv0etBhJOQ+xRiD0GV45C3EnybFyo88rFch1SNTHVAqYKEHnnz3PxobHYt2xJwPffIWyN/yZ5MDKJh78LoYGbPjh4u1ZOcADLDXOMTsrild/DCL+SXunnLsoODS18PWjk4UhAPUcCPBzxr+dIo7r2WIUdJ33TJjK2bUObkoKVkxMud92Jy7BhOPfqZbY7wk1Jm5lF3qkIcsLCyQ0PJ+dkOAXRlwrXaxo0wPOuu3Dq3QvHrt3KPEnVzfJjrhDz3HPkhYUR0nEQb/kPBjtbhrRpwKQeAXT3loiLu+DCTv1PVjzUDYB6QeAeBO6BRZ4HgG05rjB1Wkg6/79AEHsMroWBxtAUWMcNfDqATydOptjRZvQ8KMeXFBUgagFTfEBqM7OIeughtGlpBK1fh+1Nbbq3s/9CEo98F4JPXX1w8KrE4ABqHLwx9ZcaDVkHDpK+eRMZ2/9Bl56OlZsbLnfdievgwTh27Vol5qPQ5eaSd/r0DcEg/0Jk4Td1G5+GOLRpi33btji0a4t969b8Fxpq8vdf5ucT//EnJH/3HaJ5C0IH30lG4hG66Y7TzuoiVkhkHTdEkwH64JAaDckXISUK8m76wuDiA/WC0LkHkufsT6ajPyn2fiTY+pCocUQIQVPbRBrlnMYp6QQiNhSuhkK+IRGlrRM07AA+d+h/fDvpg48hIKg+CMWspJRce20++VFRNFq5skzBIfhMPDN/PIK/uyM/T+9R/GW4YnHCxgbnPr1x7tMb+frrZO7dS/rmzWRs2UrauvUIW1scOnUyNM30wr5Vq2LTepiSzM8n99w5csPCyT0ZTk74SfLOnQONBgDr+vVxaNsW16HD9MGgTRts6tc3a5n0BZOItCi8B7jhmB1A7IbT3PHNKRp0zyC/fUtW5/bi15TmnNM2Y7iVH32865NZV0OadwGpWfkUZCZinxGNY9Yl3HJiqJcdi3fGVfyiTuItUnEAPIHmQLp0RAJuIhuAPGy5aNOYOKe7yPRvj/C5g7r+bWjk6UJDN4dK7Q9RAUIBIGXVj6Rv2ozn88/j1KN7qdvn5Gv583gsPx2M5nhMGs29nfl5eo8SU1goVYuws8Nl4EBcBg5El5dH9uHDZO3dR9bevSR8/DEJH3+Mtbs7Tj17FgYM2wYNKnROqdGQdyGS3HBDMAgLJ+/0aWRBAaDvTLZv2xbnxx7Foa3+CsHG27vy+kiykuBiMFz4V99slH4FAJf6TQh6cRBXfr1A7J5LuDcayPi5L9MhIYefDkaz4Vgsaw9fLjyMrbXAzcEONwc/6jo2xs3VlroOtrg62OLmYItHHQ0+uji8tFdxz7uCS3YM6DREOLTgjHVTjuf7cDE5n0vJ2cSczqbgZA6gbxmxs7bCz92hsCmxkYcTAfUcicssecKtilABogbQ5eVhlZJCwbVr5do/7/wF4j78EOdBg/B47NHbbns+PoOfDl5i3ZEY0nM1NPNy5s0RbRjV2Q/nEtJkK1WbVZ06OPfujXPv3sCLFMTHk71/P1n79pG5dx/pmzYBYNe0iX4kUO/eOHbpctvmKKnTkR8VbQgEYeSGnyT31Clkjr793MrJCfs2bXCfMrkwGNj6+VV+h7lOC4dXQuhPEBsKSLB3g8YDoMlL0HgguAdgBwSO/V+TU05oKM0//YT3HmzPK/e0IiYlBzcHW+o62uJga21EPW4dRl3XsPSBIsu0Oklsag6XkvVDkqOTswqHJx+OSiEzT4OVTkvT/GQmDjfNr6Qos/ZBCCGGAp8B1sByKeX7N61/EZhoeGkDtAI8pZTJQogoIAPQApqS2siKqo19EAVXrhA1YSKauLgKHcfW35+gdb9h7ep6y7p8jY5tEdf48UA0ByKTsbUWDGvbkIndG9Et6PaZOSuL6oMwT/2llOSdPUvWnr1k7d1L9uHDyPz8W5qjrF1d9f0F4eH6YHDyJDrDRE7C3h771q2xb9vGEAzaYRcYYNLmq3LV/8oR+Os5uHocfDpBi2HQZJC+jd+q5FFPGTt2EDvvFdDpaPj227gOHVKxwpeD1GrJOnyYhI1/kbPjH/J0ko4H95Xrd2qRPgghhDWwGLgbiAFChBB/SCkLJxOWUi4EFhq2vw94TkpZdGqvgVLKRHOVsbrTpqdz6fHH0WVnkz5uHM3b3PqtxBhCCJz69r0lOMSkZLP60CXWhsSQmJmHn7sDLw1twUNd/FVTUi0hhMC+RQvsW7TA49FH0OXmkn3kyC3NUYXb29pSp2VLXO8bXhgM6jRpXLUmPMpJhX/fgpAV4OwNo1dCmweNHqbqcuedBK1fz5UXnufKs8+SPWECXnNfNvsUsVKnIydUPyItfesWtAmJCAcH3AYO4JJ/I9DpyjWK6XbM+a51A85LKSMBhBBrgJFASbPNjwdWm7E8NYosKODKs8+SHxVNo2VLuZqXh7sJvkFqdZLdZxP48UA0O8/EAzCopRcTewTQv5mnSoxWy1nZ2xfbHKXLycW+bVvqNG9WdefSlhLCfoWtr0J2InR/HAa+Cva3XjWXxs7Pl8BVqwqbnDL+/ReHOzoWBkX7Nq1vuYu9fEWW5IaHk75pM+lbtqC5ehVhZ4dz/364DhuG84ABWDk6ci442CxB2GxNTEKI0cBQKeVjhteTge5SytnFbOuI/iqj6fUrCCHERSAFkMA3UsqlJZxnBjADwNvbu/OaNWvMUZ2qRUpcV/2Iw759pE2ZwuWO3YlOzsbVyQE7K30nma0Vhc/trMFGcNumoLQ8yX8xBQTHaEjMkbjaCfr72TDA3wYPh6o/dXlmZibOJviHBMM/pcwlW5et/9Fm/+95CT/N6jRjpPtIrIVl0lGYsv7VUdH6SynJl/lk67LJ0mWRo8tBk30J52tb0eTFkmBfn8vurUmztil8/+rZ1GNk3ZF42pZ9mlO7sHAc9u/HNjoa66SkwuUab28KAgMoaBSAJiCAgkb+YEzwlBKbK1ewP3yYOoePYJOYiLS2Jr91K3I7dyGvQ3ukw433VVTk/R84cGDl3wchhBgDDLkpQHSTUj5VzLZjgUlSyvuKLPORUsYKIbyA7cBTUsrdtzunpfog3t10is4B7gxpU7FRHsZK/PobEj79FI8nZpIy9hHuX7yXnALtbfcRAurYWGFva134aG9jTR1bK2ysBGFX0ijQSno29mBSjwAGt/HG1rrqB4brytsGX6At4IvQLzhy7Qhp+Wmk56WTnp+OVpb8+7S1ssXVzhW3Om642rlia21LyLUQ+vj24aP+H+FoW/n3EtTWPpj47HhWRaxi1/ldyDqS9Hz9+6fRaUrcx0bY4FrHtfA9dLFz4Vj8MQq0BTzW/jEebfsodtbluwrSpKToR2mF64fs5oaFoYnXX4ljZUWdpk3/d/9G27bUadGi8Ior78IF/ZXCpk3kX7wI1tY4de+O6733lJqEsTreBxED+Bd57QfElrDtOG5qXpJSxhoe44UQv6NvsrptgLCEy8nZLN0dSR0bK9Y90Yu2vuadPzftr79J+PRTXIcPx37GEzyxeB9OdWyY3cGW9h3ak1ugI0+jJbdAR26BltwCLXkaHXkFWnKvPxboyNVoySvyOLlHIBO6N6KpV+V/C119ejXOts4Mbzy8Uju8k3KSeD74eY7GH6Vrg660cm5V+KF//bHoB4mrnf65g43DLeX89eyvvH3gbR7e+jCL71xMfYdKGKtfi13OuMy34d+y4fwGdFJHY7vGNK7X+Ib3yi0lBtcTv+CaEYdbk7tx7T8XN/cmxb5/8dnxLAxZyJLQJfwd+Tevdn+Vnj49y1wuG3d3nPv2xblv38JlBXHx5J4ML+zEz9y5k7T16/UrbW2xb94cWVBA3tmzIASOXbtSb+oUXAYPxqZevRLOVDnMGSBCgGZCiCDgCvogMOHmjYQQbkB/YFKRZU6AlZQyw/B8MLDAjGUtt39O6UcPudjb8PiqI/z5VB/qFZNu2hSyjxzh6rx5OHTpTIN33mb2r2FEJ2fz82PdybkURt9mZb88trS/Iv/i3YPvArDnyh5e6/kaTrbmT6N9Ovk0T//7NMm5yXzQ9wPuaXxPhY43pvkYvBy8eHH3i0zeNJmv7vqKQLdA0xRWKXQu5Rwrwlew5eIWrIQVDzR9gGltp3HhyAUG9B+g3yjtCmyZC6f+gPrNYexvENTvtsf1cvRiYf+FPND0Ad45+A4zts9gWOAwXuz6Ip6OFfu/svX2wtZ7EC6DBgH6JjBNbKz+CiM8jJywcNBq8X7lFVyGDKnUCaBKY7YAIaXUCCFmA1vRD3NdKaU8KYSYaVj/tWHTB4BtUsqsIrt7A78borwN8LOUcou5yloR2yPiaOrlzMcPdWD01/t5evUxvnu4KzYmbp7Jj4oi5slZ2Pr44PfFF3x76Aqbw6/xyj0t6d7Yg+BLpR+jqjmXco4F+xfQyasTvXx6seT4EiKSIljUfxEt6rUw23m3Rm1l/t75uNq58v2w72njUfzkQWXV378/KwavYNaOWUzePJkv7/ySDp5ln4FPuVV4YjjLTizj38v/4mDjwKRWk5jSZgpejvoP0wtc0CeyO/g17HwXpBYGzYdeT4ON8V/Yevn2Yv3I9awIW8HysOX8d+U/Zt8xm3EtxmF9m6GvZSGEwNbXF1tfX1yHDDbJMc1GSlljfjp37iwrU2pWvmw872/5/uZTUkop14ZckgEv/yXf3RRh0vMUJCfLc4MHyzM9esq8qCh5MDJJNp73t5zxQ4jU6XRSSil37txp0nOaW0Zehhy+frjsv6a/jM+Kl1JKeejqITlw7UDZeVVn+euZXwvrZgxj6q/VaeUXR7+Qbb9rKyf9PUkmZCeUt/i3FZ0WLYetGya7rOoi/43+1yznuFl1e/+NodPp5MHYg/KxrY/Jtt+1lb1+7iUXH1ssU3JSbtn2yIYlUi7pJeXrrlL+OEbK5IsVPn9UWpScvnW6bPtdWznmjzEyLCGswsc0l4q8/8BhWcJnavXphayCgs/Go9VJ7mqlz1v0UBd/JvVoxDe7Ivn7hGnys+vy8oiZ/RSaq9fwW7yY1HrezP75KP7uDiwc06FK3KRWVlJKXtv3GpczLrOw/8LCS/iuDbry632/0smrE2/uf5O5/80lqyCrlKMZJ6sgi+d2Psc3J77hgaYPsGLICrP1EzRybcSqYatoWrcpzwY/y9rTa81ynioj7QoknDXZ4aSUBF8OZtLmSTy67VHOp57nhc4vsG30Np7s+CR17evqN9Rq4Ow2WDuZTsfmQk4KjP0RJqzVZ1OtoADXAL65+xsW9l9IYk4iE/6ewNsH3iY937KZeytTFbp7pfr551Q89Z3t6Ohft3DZa8PbcOpqBi/+dpymXs60aFD+Se6lTsfVV14l58gRfD/+CLsOHXh6xUHScwv4/pFu1WZSl5utiljF9ujtPNf5Obo26HrDOg8HD76++2uWhy1ncehikzQ5Xc64zNP/Ps3FtIvM7TaXCS0nmD2wejh4sGLICl7a/RJvH3yba9nXePqOp6tlQC9RwhnY8wmc+EXfpOPZEtqO0t90Vr9pmQ+n1WnZFr2N5WHLOZtyFl9nX/6v+/9xf7P7qWNd5MbM+NP61Bgn1kJmHDjUI7rRKAImfg51TDvIQgjB0MCh9PHpw5ehX7L69Gq2R29nTpc5lT6owhLUFUQ55Wt0BJ+OZ1BLrxuyK9rZWLFkYiec6tjw+KrDpOUUlPscCZ9/Tvrff+P53HO43nMPi7ad5UBkMu/c345WDct+c09VcDTuKJ8c+YRB/oN4uM3DxW5jJayY0X4GywcvJ6sgi4mbJvLb2d+Q5RiSfejqIcb/PZ747Hi+uusrJraaWGn/1I62jnw68FNGNx/N8rDlvLrnVQq05f97qDJij8HaSbC4O0Rs1N9wNmwhONSDne/Al53h6z764JESVerhcjQ5rDu7jhEbRvDS7pfQ6DS82+dd/nzgT8a2HKsPDtnJcGgZLB0IS7rDgSXg2wXG/gQvnOFi4ykmDw5FOds5M7fbXFbfuxpfZ19e2fMKj217jMi0SLOdsypQVxDldOhiMhl5msLmpaK8Xe35amInxi09wPNrQ1k2pUuZ70BOXbeOpK+/wW30KDxmTGfbyWt8vesCE7o3YlRnP1NVo1Il5iQyZ9ccfJx9eLvP26V+UF9vcpr33zze3P8mIddCjB7lJKVkzZk1fHDoAwJcA/hi0Bc0cm1kqqoYzcbKhtd6vEYDxwZ8GfolCTkJfDLgE5ztinyYmeJeJHPP6yIlRO+D/z6CCzv0k9X0mwPdZ4KToamu+wx9c1PEBghfD/+8Af+8gfTtRGrLe7js14nLMpeYjBguZ1zmcsZlYjJiiM/R3yfQ2qM1nwz4hEGNBmElrP7XhBT6E5zZBNp88G4LQ96DdmPAufJH7bX2aM2qYatYd24dnx79lFF/jOLhNg8zo/0M7G0qdw6UyqACRDn9cyqOOjZWJQ4t7RJYj9fua81rG0/y2Y5zPHd3c6OPnbVvH1dffwOnXr1o+PrrRCdl88Kvx2nv58Zrw8uXb8nSNDoNL+1+ifT8dL666ytc7IxreitPk1OBtoB3Dr7DunPr6O/Xn/f7vn/jB3IlE0LweIfH8Xby5s19bzJtyzSW3LVEPwLn0gH4ew7EhZXpmElWVhxwsGefgz0HHOyxwYqj1/wZEjSM1m3GI1xMNFRSSji3XR8YLh8AJ0+46w3o8ugNKSq0Oi1x2XFczo7hsoc3lzsN53JAM2KSTnM5L5HMyB8g8ofC7T3tPfB3DaCHTw/8Xfzp6NWR7g2667803NyE5OihP1/HCdCwvWnqVQHWVtY81OIhBjUaxEeHP2JZ2DLWnVvH4IDBDA0ayh1ed+gDXA2gAkQ5SCnZHhFH32b1cbAreejb5B4BHL+cxmc7ztHO1427Wpc+CU/euXPEPP0MdYKC8P3sU3KlFTN/PIKVECye0Al7W8ukcqioL499Sci1EN7u/XaZ+xOuNznd4XUHL+9+mYmbJjK321xGNRt1y1VI0ZvfHmv3GLM7zjbZ8MSKur/p/Xg6ePJ88PNM+nsCX1v70/jEenDzh34v3TaDaJ7Uciw3gf25V9mfe5VT+SkAuFnZ0d2+AWnp8azKi+HbM8tpFP4VQ3BmqE9vmrW4H9GoJ9iW8dutTqu/j+C/j/TTXLr5wz2L4I5JYOtAgbaA0Gsh7Ivdx77YfZxNOXvD3cs2Vjb4Ovvi59mSDs7++Fs54J8UhX/UAXzjz+JADAS6gOcAaDpCf6t/yHII/Vk/37KVDTQbog8KzQaXaahqZanvUJ/3+r7Hg80eZPXp1fx+/nfWnFmDl6MXQwKHMDRwKO3qt6vW/RRqytFyOHU1nWGf/cf7D7ZjXLfbN1vkFmgZ/fU+ohOz2Ti7N409S/4mq0lIIGrsOHQF+QStXYtNw4a8+NsJ1h2NYeW0rgxsUfK3wqqcamHnpZ08vfNpRjcfzes9X6/QsZJykpj33zz2X93PPUH3FDY5BQcH06B9g8Kb3xb0WlDhm9/MQqcjYv9HzDrzHfnAF1796TR4Idjd2GwmpeRC6gX9B/DVfRy5doRcbS42woaOXh3p5dOLXj69aFmvJdZW1gQHB9Oxezt2hH3PlotbOJRzFZ2AxvkFDM3JZ4h7Gxo3GaJPZ+3VquTMpZp8CPtF33+QdB48mkGf55DtxnAxM4Z9sfvYf3U/IddCyNHkYC2s6eDZgQ5eHWjk0gh/F3/8XPxo4Nig5MAcf0rfBBW+DpIvgLDWB8frTUgdJ5a5Cakq/P1nFWQRfDmYLVFb2HNlDxqdBl9nXwYHDmZY4DBa1mtptmBhrlQbKkCUw+c7zvHJP2c5+MqdeLmU/s0sJiWbEV/uxcPJjt9n9S52Yh1dTg7RU6aSd/48AatW4dC2DWsOXWLu+jCevrMZz5fSRFUV/kGKczn9MmP/Goufix+r7ll142iUctJJXWGTUyOXRizqv4hN+zfxc8rPuNVx47NBn5ns5jeTijupn3/g8kGuNOrGTFcrYnMSeb/f+9wdcDdJOUkcuHqAfbH7OBB7oLBtPsgtiF4+vejZsCddGnQptg/m5vc/MSeRfy78zZaz6zmaEYkEWuTlMzQrmyHSEf+gQdBkoH5iHGcvyM+GY6tg7+eQHgMN2pPSYyYHXd3ZZyhTXLY+a0CAawA9G/akl08vujboWv7mOynh2gk4+TtoC6D92HI3IVW1v//0/HT+vfQvW6K2cCD2AFqpJcA1gCGBQxgWOIym7mUf5XU7KkAYobICxIgv92BtJfj9yd5G77PvfCKTVhxkaNsGLJ7Q6YZvElKrJeaZZ8jc8S9+i7/EZdAgwmLSGPX1ProH1eO7h7uVOg9tVfsHAcjV5DJp0ySuZl1l7fC1+LmYtnM95FoIL+9+mdS8VAp0BXT07MgnAz+penmQ8jIh+D048BU41IW734KOE0jNS+Opf5/ieMJxmtRtwvnU8wC41XGjZ8Oe9PTpSc+GPWno3LDUU9zu/Y/LimNb9Da2nP+DEymnAWibr2VoRjpDsrJpUL81ZFylIDuR0Ead2NeoI/tyYzmVdAqJxMXOhR4NexSWx9TvoylUxb//61JyU/jn0j9svbiVkLgQdFJH07pNC5uhTJGSRQUII1RGgLiWlkuP93bw4pAWzBpYtm8BS3df4N1Np3l5aEueGNAE0N/rEPfue6T8+CPer7xCvSmTSc3OZ/gXe9DpJH893deo3E5V8R9k/t75bDi/gcV3Lqaf3+1z4ZRXUk4S7xx8h9zkXD4d+Wm5s3CahZRw6k99XqD0K9Bpqr6D1/F/CdhyNbm8f+h9LmdcpkfDHjc0G5WFse9/bGYsW6O2svniZk4lnwKgo6yDi5Uth0UBObo8bIQN7T3b09NHf5XQxqNNlenHKUlV/PsvTmJOItuitrE1aitH448C0LJeS4YGDmVI4JByB9/qmM21RtpxWn+ZfbcRHc43m963MSdi0li49TRtfV3p7eNI7LxXyNi2jXpTp1JvymR0OsnzvxwnLj2XXx7vabbEf+a2/tx6NpzfwIz2M8wWHEA/yunjAR8THBxctYJDShRsehHObdO3q4/5Dvy73bKZvY09b/R6o9KK5ePsw8NtH+bhtg8TnR7N1qitbI3aSqo2n5GGAFWhZiPltuo71GdCqwlMaDWBa1nX2Ba1jS1RW/j06Kd8evRT2tVvx9DAoQwOHEwDp8qZPuB2VIAoo+0RcTSq50izcqTFFkLw4ej2nIvL5M1l/7A4YjW6yAt4zX2ZelOnArAk+Dz/no5nwcg23NHI3dTFrxQRSRG8c+AdejTswZMdnrR0cSqXJh/2fQ67F+pH4gx5F7o9DtZV718twDWAGe1nMKP9DEsXpVZq4NSAKW2mMKXNFGIyYgqD9cLDC1l4eCGdvDoxJHAIgwMHW6zZtOr91VZhWXka9p1PYlKPgHKPRnC0s2FJW0j87iMypSRoyVfUG6D/hr3nXCIfbz/LyI4+TO4RYMqiV5q0vDSeD34ed3t3Puj3QZVvmjCpi7vh7xcg8Sy0Hqm/ocvN19KlUqoBPxc/Hm33KI+2e5SotCi2RG1ha9RW3jv0Hh+EfEBX764MCRrCXY3uwt2+8r44qgBRBv+dSyBfqytX89J1KWvWkP/2Ozh6+/BEq/F0jXPlYym5lp7L02uO0cTTmfcerJ5jp3VSx6t7XiUuO47vhn5HPXvLTnZSaTLjYdv/6W/scg+Eib9Bs7stXSqlmgp0C2Rmh5nM7DCT8ynnC4PFgv0L9FfmPj0YGjiUQY0G4Wpn3pQ7KkCUwfaIeNwcbOkSWPYILgsKuPbuu6SuXoNT/374LlrEQ4eu8fH2s7Rq6MLm8GvkFWj5alJnHO2q59uyImwFu2J2Ma/bvNozD0L4evj7ecjP0t/s1vd5sHUofT9FMUJT96bMdp/NrI6zOJ18ujBYzN87nwX7F9DbtzdDA4dirTPPlXr1/CSyAI1Wx7+n4xjYwrPMczVrkpO58syzZIeE4DH9MTyffRZhbc3sgc6ciEnj3U36oYeLJ3Qq15SfmyI38V/af6SeT8XLwQtPR0+8HL1wtXOttCuRA1cP8GXolwwLHMb4luMr5ZwWlZ2sb046uV6fNO7+r8DT+HQqilIWQghaebSilUcrnu30LOGJ4WyO2szWqK0EXw7GycqJO3V3Ymtl2gzPKkAY6eilVFKyC4xKl1FU7pkzxDzxJJqkJHwWfojbffcVrrOyEnw8tgOPfBtCr6b1ubd96ePdbxaVFsW8PfPQSR1/7f3rhnV1rOvg6aAPFp6Onng6eOLt6F0YQK6vc7R1LPN5i4rLiuPl3S8T6BrIG73eqJbNY2Vydiv88ZQ+SAyaD72frZKd0ErNJISgnWc72nm2Y06XOYTGh7I1ZKvJgwOUM0AIIeyklPmmLkxV9s+pOGytBf2bG3/7f/q2bcTOnYe1szMBP67CoV27W7Zxtbfltyd6lbtcy8KWYWdlx7wG8+javSsJ2QnEZ8cTnx1PQk5C4ePp5NPszt5NjibnlmM42zrjYFP+ZpFsTTZSSj4Z+kmFg02VlpsOW+fBsR/Bqw1MWgcNbn1PFaWyWAkrOnl3It3ZPJMYlRoghBDBwDQpZZThdTdgGVBLGpn1/omIo0djD1yMmKRH6nQkLvmKxC+/xL5De/y++AJbL9NPRH4p/RJ/R/7NpFaTqJdVD38Xf/xd/Esul5RkFWQRnxN/SyDJ1eRWqCz3Nr6Xxm6NK3SMKu3ibtgwS5+Gos/zMGAu2FQ8bYiiVGXGXEG8B2wRQnwO+ALDgOJneqmhLiRkEpmYxbTegaVuq8vKKrz5ze3++2nw5htY1THPB8k3J77B1sqWaW2nEX4wvNTthRA42znjbOdcsz/MTSk/G3a8CQe/hnpN4JFt4N+19P0UpQYoNUBIKbcKIWYC24FE4A4p5TWzl6wK2R6hv3v6zmImByoqP+YKMbNmkXfuXOHNb+Zqj7+cfpm/I/9mQqsJVS/3UE1xOQQ2zNRnNe0+E+58HexqcBOaotzEmCam+cBDQD+gPRAshHhBSvm3uQtXVfwTEUfrhq741i25nT7r0CGuPPMsUqvF/5tvcO7bx6xlWhq2FBsrGx5p+4hZz1MrafJh1/v6lNeuvjDlD2jc39KlUpRKZ8x4zfpANynlfinlN8AQ4FljDi6EGCqEOCOEOC+EmFvM+heFEKGGn3AhhFYIUc+YfStLUmYeRy6llHhznJSSlDVruPTIo1jXrUvg2jVmDw6X0y/z54U/GdN8jLp6MLVrYbBsoH6inA4T4Im9KjgotZYxTUzPCCEchBAtpJRnpJTRQKm3iQohrIHFhm1jgBAhxB9Syogix14ILDRsfx/wnJQy2Zh9K8u/p+ORsvjkfLrcXK4teIu09etx6tcX348+wtrFuKk0K2JZ2DJ19WBqWg3s/RSC3wcHdxi/BloMs3SpFMWijGliug9YBNgBQUKIjsACKeWIUnbtBpyXUkYajrMGGAmU9CE/Hlhdzn3NZntEHA1c7Wnjc+Mt7fkxV7jy9NPkRkRQ/8knqD9rFsLa/HmHLmforx7GthyLp2PlT9peJWUnUzflBFws5zzAmjzY9QHEhECbB+Dej29Iya0otZUxo5jeQP+BHQwgpQwVQgQZsZ8vcLnI6xige3EbCiEcgaHA7HLsOwOYAeDt7U1wcLARRTNOvlYSfCabPj427Nq1q3C53ckI3FauBJ2OtCefIK59e/jvP5Od93Z+TvoZJLRKb3VDXTMzM01a9+rCSptLt0NP0jEvCY6X/zgFNi6cbT2HBM++cOiE6QpYSWrr+3+dqr956m9MgNBIKdNuGo1jzCxDxQ3fKWm/+4C9Usrksu4rpVwKLAX9hEGmnDTk39Nx5GsPM/XuTvRv7onU6UhaupSEL7+kTtOm+H35BXYBlZd19UrmFULWh/BQy4cY2X3kDeuqy4QpJrfrQ8hL4lTLZ2jVY3C5D2Pr1Zo21fiqoda+/waq/uapvzEBIlwIMQGwFkI0A54G9hmxXwxQ9K4tPyC2hG3H8b/mpbLuazbbI+JxsrOmR+N6aNPTiZ07j8x//8V1+HAaLngTK8fKHfK47MQyhBCq7+G6jDjY8ym0uo8470G0CjTv4ABFqW2MabR9CmgD5KH/EE/HuFFMIUAzIUSQEMIOfRD44+aNhBBuQH9gY1n3NSedTrLjVBz9W3giIy9wccwYMnfvxvuVV/BZ+GGlB4fYzFg2nt/IqGaj8HYqf7rxGiX4XdDmwV1vWrokilIjGTOKKRt41fBjNCmlRggxG9gKWAMrpZQnDTfdIaX82rDpA8A2KWVWafuW5fwVdeJKGvEZeTyYcpKosZ9i5exEwPff4di5c2UWo9CyMP3Vw6PtHrXI+auc+NNw9AfoNgM8mnBjl5WiKKZQYoAQQvzJbfoajBjFhJRyE7DppmVf3/T6O+A7Y/atTDvCrjAzbCO+G/7DvnNnfD/52Cz5lIxxNfMqG85vYFSzUVVintoqYftrYOesn4NBURSzuN0VxCLD44NAA+BHw+vxQJQZy2RxBfHxtPxwLo2vncd98mS8X3oRYWv6VLrGWh62HIDH2j1msTJUKZHBcG6rvmnJycPSpVGUGqvEACGl3AUghHhLStmvyKo/hRC7zV4yC8k+epRLTz+DT0oaZx57kfvnWLZD+GrmVdafX8+DTR9UVw8AOh1smw9u/vr8SIqimI0xndSeQojC1J+GeyBq3B1aUkqSV/1I9JSp5Ahbnuv3NB2mjbV0sVgRvgJQVw+Fwn6BayfgztfA1t7SpVGUGs2YYa7PoU/QF2l4HQg8brYSWYAuO5urr79B+p9/4jxwIB+2Ho1NgTVB9Z0sWq5rWddYf249DzR9gIbOZZ9trsYpyIEdC6BhR2g72tKlUZQaz5hRTFsM9z+0NCw6LaXMM2+xKo82NZXoKVPJO3cOz2eexmbyI+x+dwcz+ll+voQVYSuQSHX1cN2BJZB+BR74BqzKmVZDURSjGTvlaGf0Vw42QAchBFLKH8xWqkpk5eaGQ4cOeL04B+e+fdkYegWtTnJXKXM/mNu1rGusO7eOkU1G4uPsY9GyVAlZifDfJ9DiHgjqa+nSKEqtYEyyvlVAEyAU0BoWS6BGBAghBA3fWlD4entEHPWd7ejoX9dyhQJWhq9ESsn09tMtWo4qI/h9KMhWN8UpSiUy5gqiC9BaSmlM/qVqLV+jY9eZBIa1a4C1lXlmgjNGXFYc686uY2TTkfg6+1qsHFVG4jk4vBI6TwPP5pYujaLUGsY05Iajvw+ixjt0MZmMPA13t7ZsdVeGr0Qndarv4bp/3gBbRxgwz9IlUZRaxZgriPpAhBDiEPp8TIBxd1JXN/+ciqOOjRV9mlpulrb47Hh+O/sb9zW5Dz8XP4uVo8qI2gun/4JB88G5xo2uVpQqzdj5IGq0rVFbaePRhu0RcfRtVh8HO/NP/FOSb8O/RSu1qu8BDDfF/R+4+ECPJy1dGkWpdYwZ5rqrtG2qs+yCbF7d8yp52jw0rk3w9rmf7II2ONpWbrZWgITsBH49+yv3NbkPfxf/0neo6U6uh9ijcP9XYFf574ei1HYl9kEIIfYYHjOEEOlFfjKEEOmVV0TzcrR1ZOP9G+nsOg4r2xT+iP2Igb8MZP7e+Ry+dpjK7JtfGb4SjU7DjHYzKu2cVVZBLvzzJjRoB+0tf0e7otRGt8vF1Mfw6FJ5xbEMX2dfkq/0p5lVf+aPcGDj+Y1sjdrKhvMb8HP2Y0TTEWa/HyExJ5Ffz/7KvY3vxd9VXT1waCmkXYIRG8DKck1+ilKbqdtRgWtpuZyISePuVg3o7N2ZBb0XsPOhnbzb5118nX1ZErqEIeuG8NjWx/jzwp9kF2SbvAzfhn+LRqfh8fY1KotJ+WQnw+5F0PRuaDLQ0qVRlFrL2Dupa7R/TsUBcHfr/9097WjryH1N7uO+JvdxJfMKf174k43nN/LKnldwtHFkcOBgRjYZSWfvztw0X3eZJeYk8suZX7i38b00cm1UoWPVCLsXQn4G3L2g9G0VRTEbFSDQB4hG9Rxp5uVc7HpfZ19mdpjJ4+0f52j80WKboJrVbVbu8+84u558bR4zHJtARPlmVrXPMf1VjUUkXYBDy+COyeDd2tKlUZRazagAIYQIAJpJKf8RQjgANlLKDPMWrXLk5GvZdyGJyT0CSr0SEELQ2bsznb07M7fbXHZc2sHG8xtZErqkwuUYkZFJwB/PlXv/HgDXfoCOE6D1SKhTTbuOdrwJ1nYw8BVLl0RRaj1jcjFNB2YA9dDnZPIDvgbuNG/RKoeDnTU7nu+PVRlTaxRtgorPjiclN6V8BchJQ3x3D4FdZ8LoceU7hk5D5PblNE7fDxtnwaYX9UGi4wQI6FN9Mp9ePgQRG/V3TLvUipv3FaVKM+YKYhbQDTgIIKU8J4SwzOTMZuJfr2Jj7L0cvfByLOev5HIIFBToP8gbtC13GS4FjKZx/y8gJgRCf4Lw9XB8Nbg1go7jocN4qBdU7uObnZSw9VVwbgC9nrJ0aRRFwbhRTHlSyvzrL4QQNuizuSqmkGyYh6meCeafEAL8u8F9n8GcszBqBdRvCrs+hM87wrf3wLEfIa8Ktg5GbISYQzDoVbCz7ERNiqLoGRMgdgkhXgEchBB3A78CfxpzcCHEUCHEGSHEeSHE3BK2GSCECBVCnBRC7CqyPEoIEWZYd9iY81VLyZGAAPcA0x7X1gHajYbJv8Nz4fopOjPj9E1Qi5rD7zPh4m59OgtL0+TrE/J5tYaOEy1dGkVRDIxpYpoLPAqEoZ9qdBOwvLSdhBDWwGLgbiAGCBFC/CGljCiyTV1gCTBUSnmpmKargVLKRGMqUm0lR4KbP9jUMd853Pyg7wvQ5/mSm6AatAMslOL80n5IuQgT16mb4hSlCjEmQDgAK6WUy6Dwg98BKG1cZTfgvJQy0rDfGmAkEFFkmwnAeinlJQApZXzZil8DJF8Aj0qa3vR6E5R/Nxj6Ppz+Wx8sdn2IxVsNmw2GpjVi3IOi1BiitFxDQogDwF1SykzDa2dgm5SyVyn7jUZ/ZfCY4fVkoLuUcnaRbT4FbIE2gAvw2fWpTIUQF4EU9J9c30gpl5ZwnhnoR1nh7e3dec2aNaXVuUrpvWcS8V69Odf8iQodJzMzE2fn4u/jKI1dXjJ2+akVOn9FZTkFICtw9VCR+tcEqv6q/uWt/8CBA49IKbsUt86YKwj768EBQEqZKYQwZthPce0VN0cjG/TzXd+J/qpkvxDigJTyLNBbShlraHbaLoQ4LaXcfcsB9YFjKUCXLl3kgAEDjChaFZGdDMEZ+Lbtg2+vARU6VHBwMNWq7iam6q/qr+o/wOTHNaaTOksI0en6CyFEZyDHiP1igKJZ5/yA2GK22SKlzDL0NewGOgBIKWMNj/HA7+ibrGqWlIv6R1OMYFIURTExYwLEs8CvQoj/hBD/AWuB2bffBYAQoJkQIkgIYQeMA27OI7ER6CuEsDFclXQHTgkhnIQQLgBCCCdgMPqpT2uWZBUgFEWpuoyZMChECNESaIG+2ei0lLLAiP00QojZwFbAGn1H90khxEzD+q+llKeEEFuAE4AOWC6lDBdCNAZ+N6S+sAF+llJuKWcdq67r90C4B1q0GIqiKMUxNllfVyDQsP0dQgiudybfjpRyE/phsUWXfX3T64XAwpuWRWJoaqrRkiPB1Vd/z4KiKEoVY0wuplXoczCFAlrDYgmUGiCUUiRHquYlRVGqLGOuILoArWVlzr1ZWyRHQothli6FoihKsYzppA4HVGpNU8tNh6wEqNfE0iVRFEUpljFXEPWBCCHEISDv+kIp5Qizlao2MGWSPkVRFDMwJkC8Ye5C1EoqQCiKUsUZM8x1V2nbKOVQGCCq8BwNiqLUaqX2QQghegghQoQQmUKIfCGEVgiRXhmFq9GSL+onx1FzHyiKUkUZ00n9JTAeOIc+X9JjhmVKRaghroqiVHFGTVYspTwPWEsptVLKb4EBZi1VbaAChKIoVZwxndTZhlxKoUKID4GrgGoXqYj8LMi8pvofFEWp0oy5gpiMPpfSbCALfYbWUeYsVI2nkvQpilINGDOKKdrwNAd407zFqSWSL+gfPdRNcoqiVF0lBgghRBi3mYdSStneLCWqDQqzuKomJkVRqq7bXUEMNzzOMjyuMjxOpPT5qJXbSY4EJ0+wd7V0SRRFUUpUYoC43rQkhOgtpexdZNVcIcReYIG5C1djJV9U/Q+KolR5xnRSOwkh+lx/IYTohRrFVDFqiKuiKNWAMcNcHwG+FUK4oe+TSDMsU8qjIAfSr6gAoShKlXfbACGEsAb6Syk7CCFcASGlTKucotVQKVH6RxUgFEWp4m7bxCSl1AIjDc/TVXAwAZWkT1GUasKYJqa9QogvgbXob5QDQEp51GylqslUmm9FUaoJYwJEL8Nj0VFLEhhk+uLUAsmR4FAPHNwtXRJFUZTbMuZO6oGVUZBaI+mCunpQFKVaMGY+CDchxMdCiMOGn48MI5pKJYQYKoQ4I4Q4L4SYW8I2A4QQoUKIk0KIXWXZt1pS90AoilJNGHMfxEogA3jI8JMOfFvaToYRUIuBYUBrYLwQovVN29QFlgAjpJRtgDHG7lstafIg7bIKEIqiVAvG9EE0kVIWzd76phAi1Ij9ugHnpZSRAEKINehHREUU2WYCsF5KeQlAShlfhn2rn5RoQKoAoShKtWBMgMgRQvSRUu4BfeoN9JldS+MLXC7yOgboftM2zQFbIUQw4AJ8JqX8wch9MZRnBjADwNvbm+DgYCOKZhkeiSG0A45GpZKeEmzSY2dmZlbpupubqr+qv6p/sMmPa0yAeAL4vki/QwowzYj9RDHLbs4OawN0Bu5EP53pfiHEASP31S+UcimwFKBLly5ywIABRhTNQvZHQDh0ums0OHmY9NDBwcFU6bqbmaq/qr+q/wCTH9eYUUyhwPU7qZFSpht57Bj0kwtd5wfEFrNNopQyC8gSQuwGOhi5b/WTHAl13MCxnqVLoiiKUipjRjG9K4Soa7iTOl0I4S6EeNuIY4cAzYQQQYYpS8cBf9y0zUagrxDCRgjhiL4Z6ZSR+1Y/yZH6O6hFcRdIiqIoVYsxo5iGSSlTr7+QUqYA95S2k5RSg36a0q3oP/R/kVKeFELMFELMNGxzCtgCnAAOAcullOEl7VummlVFyZFqFjlFUaoNY/ogrIUQdaSUeQBCCAegjjEHl1JuAjbdtOzrm14vBBYas2+1pi2A1EvQbrSlS6IoimIUYwLEj8AOIcS36DuKHwG+N2upaqLUSyC1aoiroijVhjGd1B8a5qe+E/3ooreklFvNXrKaRiXpUxSlmjHmCgIp5WZgs5nLUrOpAKEoSjVjzCimB4UQ54QQaUKIdCFEhhDC2KGuynXJkWDnDE6eli6JoiiKUYy5gvgQuM8w4kgpLzXEVVGUasaYYa5xKjiYQHKkal5SFKVaMeYK4rAQYi2wAci7vlBKud5chapxtBp9or5W91m6JIqiKEYzJkC4AtnA4CLLJKAChLHSY0BXoK4gFEWpVowZ5vpwZRSkRku6oH+sp+6iVhSl+jBmFJOfEOJ3IUS8ECJOCLFOCOFXGYWrMdQQV0VRqiFjOqm/RZ8ozwf9PA1/YsSMckoRyRfBxgFcGli6JIqiKEYzJkB4Sim/lVJqDD/fAWowf1lcH8GkhrgqilKNGNNJnSiEmASsNrweDySZr0g1UHIk1G9m6VIoSqkKCgqIiYkhNzfX0kUpEzc3N06dqr2j8Y2pv729PX5+ftja2hp9XGMCxCPAl8An6Ecv7TMsU4yh00LKRWg+xNIlUZRSxcTE4OLiQmBgIKIaXfFmZGTg4uJi6WJYTGn1l1KSlJRETEwMQUFBRh/XmFFMl4ARRh9RuVF6LGjzVQe1Ui3k5uZWu+CglE4IgYeHBwkJCWXaz5hRTN8LIeoWee0uhFhZ9iLWUmoEk1LNqOBQM5XnfTWmk7p9MTPK3VHmM9VWKkAoilJNGRMgrIQQ7tdfCCHqYWSacAVIvgDWdcDV19IlURSlAgYMGMDhw4fLtM9rr73GP//8U+ZzbdiwgYiIiAofp6KM+aD/CNgnhPgNfSf1Q8A7Zi1VTZJ8UZ/F1cqYWKwoiqloNBpsbCz3XVar1bJgwYJy7bthwwaGDx9O69atAcp9nIoyppP6ByHEYWAQ+hnlHpRSRpSym3KdyuKqVFNv/nmSiFjTTv3S2seV1+9rU+L6qKgohg0bRp8+fdi3bx++vr5s3LgRBwcHQkNDmTlzJtnZ2TRp0oSVK1fi7u5+w/7Tpk2jXr16HDt2jE6dOvHkk08ya9YsEhIScHR0ZNmyZbRs2ZILFy4wceJEtFotw4YN4+OPPyYzM5Pg4GAWLVrEX3/9BcDs2bPp0qUL06ZNu+E8TzzxBCEhIeTk5DB69GjefPNNAAIDA3nkkUfYtm0bs2fPZsuWLQwfPpzAwEAee+wxQB84wsPDkVKybNkyli5dSn5+Pk2bNmXVqlWEhobyxx9/sGvXLt5++23WrVvHW2+9xfDhwxk9ejQ7duxgzpw5aDQaunbtyldffVV47qlTp/Lnn39SUFDAr7/+SsuWLSv0fhn1tVZKGSGl/FJK+YUKDmWg0xmuIFSAUBRjnTt3jlmzZnHy5Enq1q3LunXrAJgyZQoffPABJ06coF27doUfyjc7e/Ys//zzDx999BEzZszgiy++4MiRIyxatIgnn3wSgGeeeYZnnnmGkJAQfHx8ylzGd955h8OHD3PixAl27drFiRMnCtfZ29uzZ88exo0bV7isS5cuhIaGEhoaytChQ5kzZw4ADz74ICEhIRw/fpxWrVqxYsUKevXqxYgRI1i4cCGhoaE0afK/HG65ublMmzaNtWvXEhYWhkajKQwQAPXr1+fo0aM88cQTLFq0qMz1uplZr7+EEEOBzwBrYLmU8v2b1g8ANgIXDYvWSykXGNZFARmAFtBIKbuYs6xmkXkNNDn6JiZFqWZu903fnIKCgujYsSMAnTt3JioqirS0NFJTU+nfvz8AU6dOZcyYMcXuP2bMGKytrcnMzGTfvn03bJeXp5+xYP/+/WzYsAGACRMmFH5gG+uXX35h6dKlaDQarl69SkREBO3btwdg7Nixt93v6NGjbNu2DYDw8HD+7//+j9TUVDIzMxky5Pb3S505c4agoCCaN28O6H8Pixcv5tFHHwX0AQf0v7f16yuecNtsAUIIYQ0sBu4GYoAQIcQfxVyB/CelHF7CYQZKKRPNVUazUyOYFKXM6tSpU/jc2tqanJycMu3v5OQEgE6no27duoSGhhq9r42NDTqdrvB1cXeUX7x4kUWLFhESEoK7uzvTpk27Ybvr57/ZyZMnef3119m9ezfW1taAvklsw4YNdOjQge+++47g4ODblk9Kedv113931tbWaDSa225rDHP2nHYDzkspI6WU+cAaYKQZz1f1qAChKCbh5uaGu7s7//33HwCrVq0qvJooiaurK0FBQfz666+A/sP1+PHjAPTo0aOw6WrNmjWF+wQEBBAREUFeXh5paWns2LHjluOmp6fj5OSEm5sbcXFxbN68udTyp6WlMW7cOH744Qc8Pf+Xyi4jI4OGDRtSUFDATz/9VLjcxcWFjIyMW47TsmVLoqKiOH/+vNG/h4owZxOTL3C5yOsYoHsx2/UUQhwHYoE5UsqThuUS2CaEkMA3UsqlxZ1ECDEDmAHg7e1dagSuTEGRwfgLG/47dgFpFWXWc13vYKutVP1NU383N7diP5gqS2ZmJjqdrrAMeXl55OXlkZGRwZIlS3j22WfJyckhMDCQJUuWFG6n1WrJyMigoKCAnJycwuXffPMNzz33HAsWLKCgoIBRo0bRuHFj3n77baZPn86HH37IkCFDcHV1JSMjg7p163L//ffTtm1bmjRpQrt27cjNzSUjIwOtVktWVhadOnWibdu2tGrVisDAQLp37164jZSSzMzMwm/y18uzevVqoqOjC5uCAPbu3curr75Kt27d8Pf3p3Xr1mRmZpKRkcGIESN46qmn+PTTT/nhhx8Kj1NQUMDixYsZNWoUGo2GTp06FXa2Fz13VlZW4e+kqNzc3LL9nUgpzfIDjEHf73D99WTgi5u2cQWcDc/vAc4VWedjePQCjgP9Sjtn586dZZWydrKUn3eqlFPt3LmzUs5TVan67zTJcSIiIkxynMqWnp5epu2zsrKkTqeTUkq5evVqOWLECHMUq9IYW//i3l/gsCzhM9WcVxAxgH+R137orxIKSSnTizzfJIRYIoSoL6VMlFLGGpbHCyF+R99ktduM5TW95Eg1i5yiVEFHjhxh9uzZSCmpW7cuK1eq7EHFMWeACAGaCSGCgCvAOGBC0Q2EEA2AOCmlFEJ0Q98nkiSEcAKspJQZhueDAcvcKVJeUkJSJAT0sXRJFEW5Sd++fQv7I5SSmS1ASCk1QojZwFb0w1xXSilPCiFmGtZ/DYwGnhBCaIAcYJwhWHgDvxuSS9kAP0spt5irrGaRGQ8FWaqDWlGUasus90FIKTcBm25a9nWR51+in2vi5v0igQ7mLJvZqRFMiqJUcypBkLkUBgh1k5yiKNWTChDmkhwJwhrqNrJ0SRRFUcpFBQhzSY7UBwdr4+d/VRQFnJ2dzX6Or7/+mh9++MHs5ynq5hTe1YGa18FcVBZXRbEorVZbmNLiZjNnzqz0c96cwrs6UAHCHKTUZ3H162rpkihK+W2eC9fCTHvMBu1g2Pulb2ewcOFCfvnlF/Ly8njggQcKM7jef//9XL58mdzcXJ555hnGjx8P6K8+nn/+ebZu3cpHH33E0KFDeeaZZ/jrr79wcHBg48aNeHt788Ybb+Ds7MycOXMYMGAA3bt3Z+fOnaSmprJixQr69u1LdnY206ZN4/Tp07Rq1YqoqCgWL15Mly435g29OcV3RkaGUSm8gWJTkVclqonJHLKTIS8NPNRNcopSXtu2bePcuXMcOnSI0NBQjhw5wu7d+ntlV65cyZEjRzh8+DCff/45SUlJAGRlZdG2bVsOHjxInz59yMrKokePHhw/fpx+/fqxbNmyYs+l0Wg4dOgQn376aWEQWrJkCe7u7pw4cYL58+dz5MiREstaNMW3sSm8S0pFXpWoKwhzSL6gf1RNTEp1VoZv+uawbds2tm3bxh133AHo8zSdO3eOfv368fnnn/P7778DcPnyZS5cuEBgYCDW1taMGjWq8Bh2dnYMH65PFt25c2e2b99e7LmKpsmOiooCYM+ePTzzzDMAtG3btjCdd3GKpvg2JoX37VKRVyUqQJiDugdCUSpMSsm8efN4/PHHb1geHBzMP//8w/79+3F0dGTAgAGFH6729vY39AHY2tpiuOH2timwi0uTLUtJrV1U0RTfxqTwLk8qcktQTUzmkBwJwkoNcVWUChgyZAgrV64kMzMTgCtXrhAfH09aWhru7u44Ojpy+vRpDhw4YJbz9+nTh19++QWAiIgIwsKM648xJoX37VKRVyUqQJhDciS4+YFNndK3VRSlWIMHD2bChAn07NmTdu3aMXr0aDIyMhg6dCgajYb27dszf/58evToYZbzP/nkkyQkJNC+fXs++OAD2rdvj5ubW6n7vfXWW3Tv3p277777hk7ncePGsXDhQu644w4uXLjATz/9xIoVK+jQoQNt2rRh48aNZqlHRYiyXEZVdV26dJGHDx+2dDFg2SCo4wJTKu8NDw4OZsCAAZV2vqpG1d809T916hStWrWqeIEqWUZGBi4uLiY9plarpaCgAHt7ey5cuMCdd97J2bNnsbOzM+l5TMHY+hf3/gohjsgSpnRWfRDmkBwJbR6wdCkURamA7OxsBg4cSEFBAVJKvvrqqyoZHMxJBQhTy06GnBTVQa0o1ZyLiwtVokXCglQfhKmlXNQ/qgChKEo1pwKEqSVfDxDqJjlFUao3FSBMLekCIMA90NIlURRFqRAVIEwtORJcfcHW3tIlURRFqRAVIEwtOVJNEqQoJvLGG2+waNGiSj9vVFQUP//8c6Wft6pRAcLUVJpvRTGrktJlmJIKEHpqmKsp5aZBdqIKEEqN8MGhDzidfNqkx2xZryUvd3v5ttu88847/PDDD/j7++Pp6Unnzp0ZMGAAvXr1Yu/evYwYMYKOHTsyZ84cNBoNXbt25cMPP8TFxYXAwEDGjh3Lzp07Afj5559p2rQp0dHRPPLIIyQkJODp6cm3335Lo0aNmDZtGsOHD2f06NGAPl14ZmYmc+fO5dSpU3Ts2JGpU6fy3HPPmfT3UF2oKwhTSlZDXBWlIo4cOcKaNWs4duwY69evJyQkpHBdamoqu3btYtasWUybNo21a9cSFhaGRqNh+fLlhdu5urpy6NAhZs+ezbPPPgvA7NmzmTJlCidOnGDixIk8/fTTty3H+++/T9++fQkNDa21wQHMfAUhhBgKfAZYA8ullO/ftH4AsBEwfLKyXkq5wJh9qySVxVWpQUr7pm8O//33Hw888ACOjo4AjBgxonDd9ZTaZ86cISgoiObNmwMwdepUPvvss8Ltrk8eNH78+MIP9/3797N+/XoAJk+ezEsvvWT+ytQAZgsQQghrYDFwNxADhAgh/pBS3jwp639SyuHl3LdqKQwQqpNaUcrrenrum11PqV1a/rii+5d0rOvLbWxs0Ol0hcfNz88vc3lrMnM2MXUDzkspI6WU+cAaYGQl7Gs5yRfBpSHYOZW+raIot+jXrx+///47OTk5ZGRk8Oeff96yTcuWLYmKiuL8+fMArFq1it69exeuX7t2beFjz549AejVqxdr1qwB4KeffqJPnz6AfrrQ6zPFbdy4kYKCAuDG1Ny1mTmbmHyBy0VexwDdi9mupxDiOBALzJFSnizDvlVL8gXVvKQoFdCpUyfGjh1Lx44dCQgIoG/fvrdsY29vz7fffsuYMWMKO6kfffTRwvV5eXl0794dnU7H6tWrAfj888955JFHWLhwYWEnNcD06dMZOXIk3bp148477yy8Smnfvj02NjZ06NCBadOm1dp+CLOl+xZCjAGGSCkfM7yeDHSTUj5VZBtXQCelzBRC3AN8JqVsZsy+RY4xA5gB4O3t3fn6twRL6LlvGsn1OnOm5S3FNLvMzEycnZ0r/bxVhaq/aerv5uZG06ZNTVCiyqXVarG2tqZt27bs2rULDw8PSxepUl2vf2nOnz9PWlraDcsGDhxokXTfMYB/kdd+6K8SCkkp04s83ySEWCKEqG/MvkX2WwosBf18EBabEyAvE4JTaNimFw37Vn4Z1HwIqv6mmg/C1PMqVIbr8yEIIXB2dq6WdagIY+eDsLe3L5zj2xjmDBAhQDMhRBBwBRgHTCi6gRCiARAnpZRCiG7o+0SSgNTS9q1yVBZXRbG4qKgoSxehRjFbgJBSaoQQs4Gt6IeqrpRSnhRCzDSs/xoYDTwhhNAAOcA4qW/zKnZfc5XVJNQQV0VRahiz3gchpdwEbLpp2ddFnn8JfGnsvlXa9QDhroa4KopSM6g7qU0lORKcPMHe1dIlURRFMQkVIEwl+aJqXlIUpUZRAcJUkiPVLHKKUokslQr8ZoGBgSQmJlq6GGahAoQp5GdD+hV1BaEoSo2i0n2bQkqU/lHlYFJqkGvvvkveKdOm+67TqiUNXnmlxPVZWVk89NBDxMTEoNVqmT9/Pi+//DKHDx+mfv36HD58mDlz5hAcHAzA8ePHGTRoENHR0cydO5fp06dz9epVxo4dS3p6OhqNhq+++oq+ffvyxBNPEBISQk5ODqNHj+bNN98E9FcAEyZMYOfOnRQUFLB06VLmzZvH+fPnefHFF5k5cybBwcG89tpreHh4cObMGfr168eSJUuwsrrxO/aPP/7I559/Tn5+Pt27d2fJkiVG3cBWVakrCFNQQ1wVxSS2bNmCj48Px48fJzw8nKFDh952+xMnTvD333+zY8cOFixYQGxsLD///DNDhgwhNDSU48eP07FjR0A/z8Thw4c5ceIEu3bt4sSJE4XH8ff3Z//+/fTt25dp06bx22+/ceDAAV577bXCbQ4dOsRHH31EWFgYFy5cKMwOe92pU6dYu3Yte/fuJTQ0FGtra3766SfT/XIsQF1BmILK4qrUQLf7pm8u7dq1Y86cObz88ssMHz682FxMRY0cORIHBwc8PDwYOHAghw4domvXrjzyyCMUFBRw//33FwaIX375haVLl6LRaLh69SoRERG0b98e+F9a8Xbt2pGZmYmLiwsuLi7Y29uTmpoKQLdu3WjcWP8lcPz48ezZs6dwoiGAHTt2cOTIEbp27QpATk4OXl5epvz1VDoVIEwhORIc6oGDu6VLoijVWvPmzTly5AibNm1i3rx5DB48+IaU3Lm5uTdsf3M6byEE/fr1Y/fu3fz9999MnjyZF198kb59+7Jo0SJCQkJwd3dn2rRpNxyrTp06AFhZWRU+v/76+hSnxZ2rKCklU6dO5b333qvgb6HqUE1MpqDmoVYUk4iNjcXR0ZFJkyYxZ84cjh49ekNK7nXr1t2w/caNG8nNzSUpKYng4GC6du1KdHQ0Xl5eTJ8+nUcffZSjR4+Snp6Ok5MTbm5uxMXFsXnz5jKX7dChQ1y8eBGdTsfatWsLU4Zfd+edd/Lbb78RHx8PQHJyMtHR0eX8TVQN6goC4KcxoMktfbuSxByGlsNL305RlNsKCwvjxRdfxMrKCltbW7766itycnJ49NFHeffdd+ne/cas/926dePee+8lKiqK+fPn4+Pjw/fff8/ChQuxtbXF2dmZH374gaCgIO644w7atGlD48aNb5g/wlg9e/Zk7ty5hIWF0a9fPx544IEb1rdu3Zq3336bwYMHo9PpsLW1ZfHixQQEBFTod2JJZkv3bQldunSRhw8fLvuOP4wETV4Fziyg7wvQ7K4KHKNiVDZTVX9TZXNt1apVxQtUyYzNZlpewcHBLFq0iL/++sts56gIY+tf3PsrhLBIuu/qY8pGS5dAURSlylEBQlEUpRQDBgyolVeoqpNaUZQb1KRmZ+V/yvO+qgChKEohe3t7kpKSVJCoYaSUJCUlYW9vX6b9VBOToiiF/Pz8iImJISEhwdJFKZPc3Nwyf/jVJMbU397eHj8/vzIdVwUIRVEK2draEhRU/TICBAcHl2mu5ZrGXPVXTUyKoihKsVSAUBRFUYqlAoSiKIpSrBp1J7UQIgGo3slPyq8+UDOntTKOqr+qv6p/+QRIKT2LW1GjAkRtJoQ4XNLt8rWBqr+qv6q/6euvmpgURVGUYqkAoSiKohRLBYiaY6mlC2Bhqv61m6q/Gag+CEVRFKVY6gpCURRFKZYKEIqiKEqxVICoZoQQ/kKInUKIU0KIk0KIZwzL6wkhtgshzhke3S1dVnMSQlgLIY4JIf4yvK419RdC1BVC/CaEOG34O+hZy+r/nOFvP1wIsVoIYV/T6y+EWCmEiBdChBdZVmKdhRDzhBDnhRBnhBBDynteFSCqHw3wgpSyFdADmCWEaA3MBXZIKZsBOwyva7JngFNFXtem+n8GbJFStgQ6oP891Ir6CyF8gaeBLlLKtoA1MI6aX//vgKE3LSu2zobPg3FAG8M+S4QQ1uU5qQoQ1YyU8qqU8qjheQb6DwdfYCTwvWGz74H7LVLASiCE8APuBZYXWVwr6i+EcAX6ASsApJT5UspUakn9DWwAByGEDeAIxFLD6y+l3A0k37S4pDqPBNZIKfOklBeB80C38pxXBYhqTAgRCNwBHAS8pZRXQR9EAC8LFs3cPgVeAnRFltWW+jcGEoBvDU1sy4UQTtSS+ksprwCLgEvAVSBNSrmNWlL/m5RUZ1/gcpHtYgzLykwFiGpKCOEMrAOelVKmW7o8lUUIMRyIl1IesXRZLMQG6AR8JaW8A8ii5jWnlMjQzj4SCAJ8ACchxCTLlqrKEcUsK9f9DCpAVENCCFv0weEnKeV6w+I4IURDw/qGQLylymdmvYERQogoYA0wSAjxI7Wn/jFAjJTyoOH1b+gDRm2p/13ARSllgpSyAFgP9KL21L+okuocA/gX2c4PfTNcmakAUc0IIQT69udTUsqPi6z6A5hqeD4V2FjZZasMUsp5Uko/KWUg+o64f6WUk6g99b8GXBZCtDAsuhOIoJbUH33TUg8hhKPhf+FO9P1wtaX+RZVU5z+AcUKIOkKIIKAZcKg8J1B3UlczQog+wH9AGP9rg38FfT/EL0Aj9P9EY6SUN3dq1ShCiAHAHCnlcCGEB7Wk/kKIjug76O2ASOBh9F/2akv93wTGoh/Rdwx4DHCmBtdfCLEaGIA+rXcc8DqwgRLqLIR4FXgE/e/oWSnl5nKdVwUIRVEUpTiqiUlRFEUplgoQiqIoSrFUgFAURVGKpQKEoiiKUiwVIBRFUZRiqQChKIqiFEsFCEWpICFERyHEPUVejxBCmCT9hRDiWSGEoymOpShlpe6DUJQKEkJMQ59+erYZjh1lOHZiGfaxllJqTV0WpfZRVxBKrSGECDRMsLPMMOHMNiGEQwnbNhFCbBFCHBFC/CeEaGlYPsYwUc1xIcRuIYQdsAAYK4QIFUKMFUJME0J8adj+OyHEV4ZJniKFEP0Nk7+cEkJ8V+R8XwkhDhvK9aZh2dPoE9LtFELsNCwbL4QIM5ThgyL7ZwohFgghDgI9hRDvCyEihBAnhBCLzPMbVWo8KaX6UT+14gcIRJ96oKPh9S/ApBK23QE0Mzzvjj7nE+hTnPgantc1PE4Dviyyb+Fr9BO9rEGfYXMkkA60Q//l7EiRstQzPFoDwUB7w+sooL7huQ/6lAqe6LO6/gvcb1gngYeuHws4w/9aCOpa+nevfqrnj7qCUGqbi1LKUMPzI+iDxg0MqdR7Ab8KIUKBb4CGhtV7ge+EENPRf5gb408ppUQfXOKklGFSSh1wssj5HxJCHEWfW6gN0LqY43QFgqU+k6kG+An95EEAWvQZfkEfhHKB5UKIB4FsI8upKDewsXQBFKWS5RV5rgWKa2KyAlKllB1vXiGlnCmE6I5+RrtQQ+I8Y8+pu+n8OsDGkHFzDtBVSpliaHqyL+Y4xeX5vy5XGvodpJQaIUQ39JlOxwGzgUFGlFNRbqCuIBTlJlI/AdNFIcQY0KdYF0J0MDxvIqU8KKV8DUhEn3c/A3CpwCld0U/8kyaE8AaGFVlX9NgHgf5CiPqGOYbHA7tuPpjhCshNSrkJeBboWIGyKbWYuoJQlOJNBL4SQvwfYIu+H+E4sFAI0Qz9t/kdhmWXgLmG5qj3ynoiKeVxIcQx9E1Okeibsa5bCmwWQlyVUg4UQswDdhrOv0lKWdy8By7ARiGEvWG758paJkUBNcxVURRFKYFqYlIURVGKpZqYlFpNCLEY/TzXRX0mpfzWEuVRlKpENTEpiqIoxVJNTIqiKEqxVIBQFEVRiqUChKIoilIsFSAURVGUYv0/v0cOFb36a7MAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = scores_reg.plot(xlabel=\"n_estimators\", ylabel=\"concordance index\")\n",
    "ax.grid(True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The plot reveals that using dropout or a learning rate are most effective in avoiding overfitting. Moreover, the learning rate and ensemble size are strongly connected, choosing smaller a learning rate suggests increasing `n_estimators`. Therefore, it is recommended to use a relatively small learning rate and select the number of estimators via *early stopping*. Note that we can also apply multiple types of regularization, such as regularization by learning rate and subsampling. Since not all training data is used, this allows using the left-out data to evaluate whether we should continue adding more base learners or stop training."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitted base learners: 119\n",
      "Performance on test set 0.703\n"
     ]
    }
   ],
   "source": [
    "class EarlyStoppingMonitor:\n",
    "    def __init__(self, window_size, max_iter_without_improvement):\n",
    "        self.window_size = window_size\n",
    "        self.max_iter_without_improvement = max_iter_without_improvement\n",
    "        self._best_step = -1\n",
    "\n",
    "    def __call__(self, iteration, estimator, args):\n",
    "        # continue training for first self.window_size iterations\n",
    "        if iteration < self.window_size:\n",
    "            return False\n",
    "\n",
    "        # compute average improvement in last self.window_size iterations.\n",
    "        # oob_improvement_ is the different in negative log partial likelihood\n",
    "        # between the previous and current iteration.\n",
    "        start = iteration - self.window_size + 1\n",
    "        end = iteration + 1\n",
    "        improvement = np.mean(estimator.oob_improvement_[start:end])\n",
    "\n",
    "        if improvement > 1e-6:\n",
    "            self._best_step = iteration\n",
    "            return False  # continue fitting\n",
    "\n",
    "        # stop fitting if there was no improvement\n",
    "        # in last max_iter_without_improvement iterations\n",
    "        diff = iteration - self._best_step\n",
    "        return diff >= self.max_iter_without_improvement\n",
    "\n",
    "\n",
    "est_early_stopping = GradientBoostingSurvivalAnalysis(\n",
    "    n_estimators=1000, learning_rate=0.05, subsample=0.5, max_depth=1, random_state=0\n",
    ")\n",
    "\n",
    "monitor = EarlyStoppingMonitor(25, 50)\n",
    "\n",
    "est_early_stopping.fit(X_train, y_train, monitor=monitor)\n",
    "\n",
    "print(\"Fitted base learners:\", est_early_stopping.n_estimators_)\n",
    "\n",
    "cindex = est_early_stopping.score(X_test, y_test)\n",
    "print(\"Performance on test set\", round(cindex, 3))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The monitor looks at the average improvement of the last 25 iterations, and if it was negative for the last 50 iterations, it will abort training. In this case, this occurred after 119 iterations. We can plot the improvement per base learner and the moving average."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "improvement = pd.Series(\n",
    "    est_early_stopping.oob_improvement_, index=np.arange(1, 1 + len(est_early_stopping.oob_improvement_))\n",
    ")\n",
    "ax = improvement.plot(xlabel=\"iteration\", ylabel=\"oob improvement\")\n",
    "ax.axhline(0.0, linestyle=\"--\", color=\"gray\")\n",
    "cutoff = len(improvement) - monitor.max_iter_without_improvement\n",
    "ax.axvline(cutoff, linestyle=\"--\", color=\"C3\")\n",
    "\n",
    "_ = improvement.rolling(monitor.window_size).mean().plot(ax=ax, linestyle=\":\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
